[Fingerforce-commits] r124 - in /packages/fprint/libfprint/async-lib/trunk: ./ debian/ doc/ examples/ libfprint/ libfprint/drivers/
dererk-guest at users.alioth.debian.org
dererk-guest at users.alioth.debian.org
Fri Nov 28 05:45:16 UTC 2008
Author: dererk-guest
Date: Fri Nov 28 05:45:16 2008
New Revision: 124
URL: http://svn.debian.org/wsvn/fingerforce/?sc=1&rev=124
Log:
Synchronized to upstream v0.1.0-pre1 release.
Upstream git checkout fixing little issues.
Added:
packages/fprint/libfprint/async-lib/trunk/libfprint/fprint-list-hal-info.c
Removed:
packages/fprint/libfprint/async-lib/trunk/Makefile.in
packages/fprint/libfprint/async-lib/trunk/aclocal.m4
packages/fprint/libfprint/async-lib/trunk/compile
packages/fprint/libfprint/async-lib/trunk/config.h.in
packages/fprint/libfprint/async-lib/trunk/configure
packages/fprint/libfprint/async-lib/trunk/depcomp
packages/fprint/libfprint/async-lib/trunk/doc/Makefile.in
packages/fprint/libfprint/async-lib/trunk/examples/Makefile.in
packages/fprint/libfprint/async-lib/trunk/install-sh
packages/fprint/libfprint/async-lib/trunk/libfprint/Makefile.in
packages/fprint/libfprint/async-lib/trunk/ltmain.sh
packages/fprint/libfprint/async-lib/trunk/missing
Modified:
packages/fprint/libfprint/async-lib/trunk/THANKS
packages/fprint/libfprint/async-lib/trunk/configure.ac
packages/fprint/libfprint/async-lib/trunk/debian/changelog
packages/fprint/libfprint/async-lib/trunk/debian/control
packages/fprint/libfprint/async-lib/trunk/debian/rules
packages/fprint/libfprint/async-lib/trunk/examples/enroll.c
packages/fprint/libfprint/async-lib/trunk/examples/img_capture.c
packages/fprint/libfprint/async-lib/trunk/examples/img_capture_continuous.c
packages/fprint/libfprint/async-lib/trunk/examples/verify.c
packages/fprint/libfprint/async-lib/trunk/examples/verify_live.c
packages/fprint/libfprint/async-lib/trunk/libfprint/Makefile.am
packages/fprint/libfprint/async-lib/trunk/libfprint/core.c
packages/fprint/libfprint/async-lib/trunk/libfprint/data.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes1610.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes2501.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes4000.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/fdu2000.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upeksonly.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upektc.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upekts.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/uru4000.c
packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/vcom5s.c
packages/fprint/libfprint/async-lib/trunk/libfprint/fp_internal.h
packages/fprint/libfprint/async-lib/trunk/libfprint/fprint.h
packages/fprint/libfprint/async-lib/trunk/libfprint/poll.c
Modified: packages/fprint/libfprint/async-lib/trunk/THANKS
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/THANKS?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/THANKS (original)
+++ packages/fprint/libfprint/async-lib/trunk/THANKS Fri Nov 28 05:45:16 2008
@@ -7,3 +7,4 @@
Toby Howard (University of Manchester)
Seemant Kulleen
Pavel Herrman
+Bastien Nocera
Modified: packages/fprint/libfprint/async-lib/trunk/configure.ac
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/configure.ac?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/configure.ac (original)
+++ packages/fprint/libfprint/async-lib/trunk/configure.ac Fri Nov 28 05:45:16 2008
@@ -1,4 +1,4 @@
-AC_INIT([libfprint], [0.1.0-pre])
+AC_INIT([libfprint], [0.1.0-pre1])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([libfprint/core.c])
AM_CONFIG_HEADER([config.h])
Modified: packages/fprint/libfprint/async-lib/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/debian/changelog?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/debian/changelog (original)
+++ packages/fprint/libfprint/async-lib/trunk/debian/changelog Fri Nov 28 05:45:16 2008
@@ -1,5 +1,14 @@
+libfprint (20081125git-1) experimental; urgency=low
+
+ * Synchronized to upstream v0.1.0-pre1 release.
+ * Upstream git checkout fixing little issues:
+ - Fixes libtool problem.
+ - Add more debuging support.
+
+ -- Ulises Vitulli <uvitulli at fi.uba.ar> Fri, 28 Nov 2008 03:14:15 -0200
+
libfprint (20080810git-1) experimental; urgency=low
- * Initial Release
+ * Initial Release.
-- Ulises Vitulli <uvitulli at fi.uba.ar> Fri, 19 Sep 2008 05:14:30 -0300
Modified: packages/fprint/libfprint/async-lib/trunk/debian/control
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/debian/control?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/debian/control (original)
+++ packages/fprint/libfprint/async-lib/trunk/debian/control Fri Nov 28 05:45:16 2008
@@ -2,7 +2,8 @@
Priority: extra
Maintainer: FingerForce Team <fingerforce-devel at lists.alioth.debian.org>
Uploaders: Ulises Vitulli <uvitulli at fi.uba.ar>
-Build-Depends: debhelper (>= 5), autotools-dev, libusb-1.0-0-dev, libssl-dev, libglib2.0-dev, libmagick9-dev
+Build-Depends: debhelper (>= 5), autotools-dev, libusb-1.0-0-dev, libssl-dev,
+ libglib2.0-dev, libmagick9-dev, libxv-dev
Standards-Version: 3.8.0
Homepage: http://reactivated.net/fprint/
Section: libs
Modified: packages/fprint/libfprint/async-lib/trunk/debian/rules
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/debian/rules?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/debian/rules (original)
+++ packages/fprint/libfprint/async-lib/trunk/debian/rules Fri Nov 28 05:45:16 2008
@@ -14,7 +14,7 @@
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-config.status: configure
+config.status: autogen.sh
dh_testdir
# Add here commands to configure the package.
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
@@ -23,6 +23,7 @@
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
cp -f /usr/share/misc/config.guess config.guess
endif
+ ./autogen.sh
./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-z,defs"
Modified: packages/fprint/libfprint/async-lib/trunk/examples/enroll.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/examples/enroll.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/examples/enroll.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/examples/enroll.c Fri Nov 28 05:45:16 2008
@@ -115,6 +115,7 @@
fprintf(stderr, "Failed to initialize libfprint\n");
exit(1);
}
+ fp_set_debug(3);
discovered_devs = fp_discover_devs();
if (!discovered_devs) {
Modified: packages/fprint/libfprint/async-lib/trunk/examples/img_capture.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/examples/img_capture.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/examples/img_capture.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/examples/img_capture.c Fri Nov 28 05:45:16 2008
@@ -47,6 +47,7 @@
fprintf(stderr, "Failed to initialize libfprint\n");
exit(1);
}
+ fp_set_debug(3);
discovered_devs = fp_discover_devs();
if (!discovered_devs) {
Modified: packages/fprint/libfprint/async-lib/trunk/examples/img_capture_continuous.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/examples/img_capture_continuous.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/examples/img_capture_continuous.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/examples/img_capture_continuous.c Fri Nov 28 05:45:16 2008
@@ -146,6 +146,7 @@
fprintf(stderr, "Failed to initialize libfprint\n");
exit(1);
}
+ fp_set_debug(3);
discovered_devs = fp_discover_devs();
if (!discovered_devs) {
Modified: packages/fprint/libfprint/async-lib/trunk/examples/verify.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/examples/verify.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/examples/verify.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/examples/verify.c Fri Nov 28 05:45:16 2008
@@ -91,6 +91,7 @@
fprintf(stderr, "Failed to initialize libfprint\n");
exit(1);
}
+ fp_set_debug(3);
discovered_devs = fp_discover_devs();
if (!discovered_devs) {
Modified: packages/fprint/libfprint/async-lib/trunk/examples/verify_live.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/examples/verify_live.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/examples/verify_live.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/examples/verify_live.c Fri Nov 28 05:45:16 2008
@@ -134,6 +134,7 @@
fprintf(stderr, "Failed to initialize libfprint\n");
exit(1);
}
+ fp_set_debug(3);
discovered_devs = fp_discover_devs();
if (!discovered_devs) {
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/Makefile.am
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/Makefile.am?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/Makefile.am (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/Makefile.am Fri Nov 28 05:45:16 2008
@@ -1,4 +1,6 @@
lib_LTLIBRARIES = libfprint.la
+noinst_PROGRAMS = fprint-list-hal-info
+MOSTLYCLEANFILES = $(hal_fdi_DATA)
UPEKTS_SRC = drivers/upekts.c
UPEKTC_SRC = drivers/upektc.c
@@ -10,8 +12,8 @@
FDU2000_SRC = drivers/fdu2000.c
VCOM5S_SRC = drivers/vcom5s.c
-DRIVER_SRC = ""
-OTHER_SRC = ""
+DRIVER_SRC =
+OTHER_SRC =
NBIS_SRC = \
nbis/include/bozorth.h \
@@ -53,6 +55,17 @@
libfprint_la_CFLAGS = -fvisibility=hidden -I$(srcdir)/nbis/include $(LIBUSB_CFLAGS) $(GLIB_CFLAGS) $(CRYPTO_CFLAGS) $(AM_CFLAGS)
libfprint_la_LDFLAGS = -version-info @lt_major@:@lt_revision@:@lt_age@
libfprint_la_LIBADD = -lm $(LIBUSB_LIBS) $(GLIB_LIBS) $(CRYPTO_LIBS)
+
+fprint_list_hal_info_SOURCES = fprint-list-hal-info.c
+fprint_list_hal_info_CFLAGS = -fvisibility=hidden -I$(srcdir)/nbis/include $(LIBUSB_CFLAGS) $(GLIB_CFLAGS) $(IMAGEMAGICK_CFLAGS) $(CRYPTO_CFLAGS) $(AM_CFLAGS)
+fprint_list_hal_info_LDADD = $(builddir)/libfprint.la
+
+hal_fdi_DATA = 10-fingerprint-reader-fprint.fdi
+hal_fdidir = $(datadir)/hal/fdi/information/20thirdparty/
+
+$(hal_fdi_DATA): fprint-list-hal-info
+ $(builddir)/fprint-list-hal-info > $@
+
if ENABLE_UPEKTS
DRIVER_SRC += $(UPEKTS_SRC)
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/core.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/core.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/core.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/core.c Fri Nov 28 05:45:16 2008
@@ -20,11 +20,15 @@
#include <config.h>
#include <errno.h>
#include <stdio.h>
+#include <stdlib.h>
#include <glib.h>
#include <libusb.h>
#include "fp_internal.h"
+
+static int log_level = 0;
+static int log_level_fixed = 0;
libusb_context *fpi_usb_ctx = NULL;
GSList *opened_devices = NULL;
@@ -41,13 +45,13 @@
* designed so that you only have to do this once - by integrating your
* software with libfprint, you'll be supporting all the fingerprint readers
* that we have got our hands on. As such, the API is rather general (and
- * therefore hopefully easy to comprehend!), and does it's best to hide the
+ * therefore hopefully easy to comprehend!), and does its best to hide the
* technical details that required to operate the hardware.
*
* This documentation is not aimed at developers wishing to develop and
* contribute fingerprint device drivers to libfprint.
*
- * Feedback on this API and it's associated documentation is appreciated. Was
+ * Feedback on this API and its associated documentation is appreciated. Was
* anything unclear? Does anything seem unreasonably complicated? Is anything
* missing? Let us know on the
* <a href="http://www.reactivated.net/fprint/Mailing_list">mailing list</a>.
@@ -283,6 +287,15 @@
va_list args;
FILE *stream = stdout;
const char *prefix;
+
+#ifndef ENABLE_DEBUG_LOGGING
+ if (!log_level)
+ return;
+ if (level == LOG_LEVEL_WARNING && log_level < 2)
+ return;
+ if (level == LOG_LEVEL_INFO && log_level < 3)
+ return;
+#endif
switch (level) {
case LOG_LEVEL_INFO:
@@ -319,7 +332,7 @@
static void register_driver(struct fp_driver *drv)
{
if (drv->id == 0) {
- fp_err("not registering driver %s: driver ID is 0");
+ fp_err("not registering driver %s: driver ID is 0", drv->name);
return;
}
registered_drivers = g_slist_prepend(registered_drivers, (gpointer) drv);
@@ -375,6 +388,24 @@
}
}
+API_EXPORTED struct fp_driver **fprint_get_drivers (void)
+{
+ GPtrArray *array;
+ unsigned int i;
+
+ array = g_ptr_array_new ();
+ for (i = 0; i < G_N_ELEMENTS(primitive_drivers); i++)
+ g_ptr_array_add (array, primitive_drivers[i]);
+
+ for (i = 0; i < G_N_ELEMENTS(img_drivers); i++)
+ g_ptr_array_add (array, &(img_drivers[i]->driver));
+
+ /* Add a null item terminating the array */
+ g_ptr_array_add (array, NULL);
+
+ return (struct fp_driver **) g_ptr_array_free (array, FALSE);
+}
+
static struct fp_driver *find_supporting_driver(libusb_device *udev,
const struct usb_id **usb_id)
{
@@ -692,6 +723,16 @@
return drv->id;
}
+/** \ingroup drv
+ * Retrieves the scan type for the devices associated with the driver.
+ * \param drv the driver
+ * \returns the scan type
+ */
+API_EXPORTED enum fp_scan_type fp_driver_get_scan_type(struct fp_driver *drv)
+{
+ return drv->scan_type;
+}
+
static struct fp_img_dev *dev_to_img_dev(struct fp_dev *dev)
{
if (dev->drv->type != DRIVER_IMAGING)
@@ -799,12 +840,51 @@
}
/** \ingroup core
+ * Set message verbosity.
+ * - Level 0: no messages ever printed by the library (default)
+ * - Level 1: error messages are printed to stderr
+ * - Level 2: warning and error messages are printed to stderr
+ * - Level 3: informational messages are printed to stdout, warning and error
+ * messages are printed to stderr
+ *
+ * The default level is 0, which means no messages are ever printed. If you
+ * choose to increase the message verbosity level, ensure that your
+ * application does not close the stdout/stderr file descriptors.
+ *
+ * You are advised to set level 3. libfprint is conservative with its message
+ * logging and most of the time, will only log messages that explain error
+ * conditions and other oddities. This will help you debug your software.
+ *
+ * If the LIBFPRINT_DEBUG environment variable was set when libfprint was
+ * initialized, this function does nothing: the message verbosity is fixed
+ * to the value in the environment variable.
+ *
+ * If libfprint was compiled without any message logging, this function does
+ * nothing: you'll never get any messages.
+ *
+ * If libfprint was compiled with verbose debug message logging, this function
+ * does nothing: you'll always get messages from all levels.
+ *
+ * \param ctx the context to operate on, or NULL for the default context
+ * \param level debug level to set
+ */
+API_EXPORTED void fp_set_debug(int level)
+{
+ if (log_level_fixed)
+ return;
+
+ log_level = level;
+ libusb_set_debug(fpi_usb_ctx, level);
+}
+
+/** \ingroup core
* Initialise libfprint. This function must be called before you attempt to
* use the library in any way.
* \return 0 on success, non-zero on error.
*/
API_EXPORTED int fp_init(void)
{
+ char *dbg = getenv("LIBFPRINT_DEBUG");
int r;
fp_dbg("");
@@ -812,7 +892,14 @@
if (r < 0)
return r;
- libusb_set_debug(fpi_usb_ctx, 3);
+ if (dbg) {
+ log_level = atoi(dbg);
+ if (log_level) {
+ log_level_fixed = 1;
+ libusb_set_debug(fpi_usb_ctx, log_level);
+ }
+ }
+
register_drivers();
fpi_poll_init();
return 0;
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/data.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/data.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/data.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/data.c Fri Nov 28 05:45:16 2008
@@ -73,6 +73,7 @@
((finger) >= LEFT_THUMB && (finger) <= RIGHT_LITTLE)
/* for debug messages only */
+#ifdef ENABLE_DEBUG_LOGGING
static const char *finger_num_to_str(enum fp_finger finger)
{
const char *names[] = {
@@ -91,6 +92,7 @@
return "UNKNOWN";
return names[finger];
}
+#endif
static struct fp_print_data *print_data_new(uint16_t driver_id,
uint32_t devtype, enum fp_print_data_type type, size_t length)
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes1610.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes1610.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes1610.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes1610.c Fri Nov 28 05:45:16 2008
@@ -532,6 +532,7 @@
.name = FP_COMPONENT,
.full_name = "AuthenTec AES1610",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_SWIPE,
},
.flags = 0,
.img_height = -1,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes2501.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes2501.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes2501.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes2501.c Fri Nov 28 05:45:16 2008
@@ -938,7 +938,8 @@
}
static const struct usb_id id_table[] = {
- { .vendor = 0x08ff, .product = 0x2580 },
+ { .vendor = 0x08ff, .product = 0x2500 }, /* AES2500 */
+ { .vendor = 0x08ff, .product = 0x2580 }, /* AES2501 */
{ 0, 0, 0, },
};
@@ -948,6 +949,7 @@
.name = FP_COMPONENT,
.full_name = "AuthenTec AES2501",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_SWIPE,
},
.flags = 0,
.img_height = -1,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes4000.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes4000.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes4000.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/aes4000.c Fri Nov 28 05:45:16 2008
@@ -253,6 +253,7 @@
.name = FP_COMPONENT,
.full_name = "AuthenTec AES4000",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_PRESS,
},
.flags = 0,
.img_height = IMG_HEIGHT * ENLARGE_FACTOR,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/fdu2000.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/fdu2000.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/fdu2000.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/fdu2000.c Fri Nov 28 05:45:16 2008
@@ -309,6 +309,7 @@
.name = FP_COMPONENT,
.full_name = "Secugen FDU 2000",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_PRESS,
},
.img_height = RAW_IMAGE_HEIGTH,
.img_width = RAW_IMAGE_WIDTH,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upeksonly.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upeksonly.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upeksonly.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upeksonly.c Fri Nov 28 05:45:16 2008
@@ -1022,6 +1022,7 @@
.name = FP_COMPONENT,
.full_name = "UPEK TouchStrip Sensor-Only",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_SWIPE,
},
.flags = 0,
.img_width = IMG_WIDTH,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upektc.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upektc.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upektc.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upektc.c Fri Nov 28 05:45:16 2008
@@ -402,6 +402,7 @@
.name = FP_COMPONENT,
.full_name = "UPEK TouchChip",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_PRESS,
},
.flags = FP_IMGDRV_SUPPORTS_UNCONDITIONAL_CAPTURE,
.img_height = 288,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upekts.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upekts.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upekts.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/upekts.c Fri Nov 28 05:45:16 2008
@@ -321,10 +321,13 @@
fp_err("cmd response without 28 byte?");
return -1;
}
- if (innerbuf[3] || innerbuf[4]) {
- fp_err("non-zero bytes in cmd response");
- return -1;
- }
+
+ /* not really sure what these 2 bytes are. on most people's hardware,
+ * these bytes are always 0. However, Alon Bar-Lev's hardware gives
+ * 0xfb 0xff during the READ28_OB initsm stage. so don't error out
+ * if they are different... */
+ if (innerbuf[3] || innerbuf[4])
+ fp_dbg("non-zero bytes in cmd response");
innerlen = innerbuf[1] | (innerbuf[2] << 8);
innerlen = GUINT16_FROM_LE(innerlen) - 3;
@@ -1465,6 +1468,7 @@
.name = FP_COMPONENT,
.full_name = "UPEK TouchStrip",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_SWIPE,
.open = dev_init,
.close = dev_exit,
.enroll_start = enroll_start,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/uru4000.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/uru4000.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/uru4000.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/uru4000.c Fri Nov 28 05:45:16 2008
@@ -1227,6 +1227,7 @@
.name = FP_COMPONENT,
.full_name = "Digital Persona U.are.U 4000/4000B",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_PRESS,
},
.flags = FP_IMGDRV_SUPPORTS_UNCONDITIONAL_CAPTURE,
.img_height = 289,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/vcom5s.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/vcom5s.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/vcom5s.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/drivers/vcom5s.c Fri Nov 28 05:45:16 2008
@@ -372,6 +372,7 @@
.name = FP_COMPONENT,
.full_name = "Veridicom 5thSense",
.id_table = id_table,
+ .scan_type = FP_SCAN_TYPE_PRESS,
},
.flags = 0,
.img_height = IMG_HEIGHT,
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/fp_internal.h
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/fp_internal.h?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/fp_internal.h (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/fp_internal.h Fri Nov 28 05:45:16 2008
@@ -91,6 +91,8 @@
DEV_STATE_IDENTIFY_STOPPING,
};
+struct fp_driver **fprint_get_drivers (void);
+
struct fp_dev {
struct fp_driver *drv;
libusb_device_handle *udev;
@@ -197,6 +199,7 @@
const char *full_name;
const struct usb_id * const id_table;
enum fp_driver_type type;
+ enum fp_scan_type scan_type;
void *priv;
Added: packages/fprint/libfprint/async-lib/trunk/libfprint/fprint-list-hal-info.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/fprint-list-hal-info.c?rev=124&op=file
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/fprint-list-hal-info.c (added)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/fprint-list-hal-info.c Fri Nov 28 05:45:16 2008
@@ -1,0 +1,81 @@
+/*
+ * Helper binary for creating a HAL FDI file for supported devices
+ * Copyright (C) 2008 Bastien Nocera <hadess at hadess.net>
+ * Copyright (C) 2008 Timo Hoenig <thoenig at suse.de>, <thoenig at nouse.net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <config.h>
+#include <stdio.h>
+
+#include "fp_internal.h"
+
+/* FDI entry example:
+ *
+ * <!-- AuthenTec AES2501 -->
+ * <match key="usb.vendor_id" int="0x08ff">
+ * <match key="usb.product_id" int="0x2580">
+ * <merge key="info.category" type="string">biometric.fingerprint_reader</merge>
+ * <append key="biometric.fingerprint_reader.access_method" type="strlist">libfprint</append>
+ * <append key="info.capabilities" type="strlist">biometric</append>
+ * <append key="info.capabilities" type="strlist">biometric.fingerprint_reader</append>
+ * <merge key="biometric.fingerprint_reader.libfprint.driver" type="string">aes2501</merge>
+ * <merge key="biometric.fingerprint_reader.libfprint.support" type="bool">true</merge>
+ * </match>
+ * </match>
+ *
+ */
+
+static void print_driver (struct fp_driver *driver)
+{
+ int i;
+
+ for (i = 0; driver->id_table[i].vendor != 0; i++) {
+ printf (" <!-- %s -->\n", fp_driver_get_full_name (driver));
+ printf (" <match key=\"usb.vendor_id\" int=\"0x%04x\">\n", driver->id_table[i].vendor);
+ printf (" <match key=\"usb.product_id\" int=\"0x%04x\">\n", driver->id_table[i].product);
+ printf (" <merge key=\"info.category\" type=\"string\">biometric.fingerprint_reader</merge>\n");
+ printf (" <append key=\"biometric.fingerprint_reader.access_method\" type=\"strlist\">libfprint</append>\n");
+ printf (" <append key=\"info.capabilities\" type=\"strlist\">biometric</append>\n");
+ printf (" <append key=\"info.capabilities\" type=\"strlist\">biometric.fingerprint_reader</append>\n");
+ printf (" <merge key=\"biometric.fingerprint_reader.libfprint.driver\" type=\"string\">%s</merge>\n", driver->name);
+ printf (" <merge key=\"biometric.fingerprint_reader.libfprint.support\" type=\"bool\">true</merge>\n");
+ printf (" <append key=\"biometric.fingerprint_reader.scan_type\" type=\"string\">%s</append>\n",
+ fp_driver_get_scan_type (driver) == FP_SCAN_TYPE_PRESS ? "press" : "swipe");
+ printf (" </match>\n");
+ printf (" </match>\n");
+ }
+}
+
+int main (int argc, char **argv)
+{
+ struct fp_driver **list;
+ guint i;
+
+ list = fprint_get_drivers ();
+
+ printf ("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
+ printf ("<!-- Created from libfprint %s -->\n", VERSION);
+ printf ("<deviceinfo version=\"0.2\">\n");
+
+ for (i = 0; list[i] != NULL; i++) {
+ print_driver (list[i]);
+ }
+
+ printf ("</deviceinfo>\n");
+
+ return 0;
+}
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/fprint.h
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/fprint.h?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/fprint.h (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/fprint.h Fri Nov 28 05:45:16 2008
@@ -51,10 +51,21 @@
RIGHT_LITTLE, /** little finger (right hand) */
};
+/** \ingroup dev
+ * Numeric codes used to refer to the scan type of the device. Devices require
+ * either swiping or pressing the finger on the device. This is useful for
+ * front-ends.
+ */
+enum fp_scan_type {
+ FP_SCAN_TYPE_PRESS = 0, /** press */
+ FP_SCAN_TYPE_SWIPE, /** swipe */
+};
+
/* Drivers */
const char *fp_driver_get_name(struct fp_driver *drv);
const char *fp_driver_get_full_name(struct fp_driver *drv);
uint16_t fp_driver_get_driver_id(struct fp_driver *drv);
+enum fp_scan_type fp_driver_get_scan_type(struct fp_driver *drv);
/* Device discovery */
struct fp_dscv_dev **fp_discover_devs(void);
@@ -286,6 +297,7 @@
/* Library */
int fp_init(void);
void fp_exit(void);
+void fp_set_debug(int level);
/* Asynchronous I/O */
Modified: packages/fprint/libfprint/async-lib/trunk/libfprint/poll.c
URL: http://svn.debian.org/wsvn/fingerforce/packages/fprint/libfprint/async-lib/trunk/libfprint/poll.c?rev=124&op=diff
==============================================================================
--- packages/fprint/libfprint/async-lib/trunk/libfprint/poll.c (original)
+++ packages/fprint/libfprint/async-lib/trunk/libfprint/poll.c Fri Nov 28 05:45:16 2008
@@ -308,9 +308,10 @@
ret = g_malloc(sizeof(struct fp_pollfd) * cnt);
i = 0;
- while ((usbfd = usbfds[i++]) != NULL) {
+ while ((usbfd = usbfds[i]) != NULL) {
ret[i].fd = usbfd->fd;
ret[i].events = usbfd->events;
+ i++;
}
*pollfds = ret;
More information about the Fingerforce-commits
mailing list