[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