summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Shapovalov2018-07-11 05:46:50 +0300
committerIvan Shapovalov2018-07-11 05:46:50 +0300
commit573c7256dbc3ff82a3817d7620de7fd295266bdc (patch)
treebc82ba2b9c2ade2ef775dbb7da4a77b961cf670f
parent095484bcd9ce3ca22e3bc4cce62fcd58644aaf44 (diff)
downloadaur-573c7256dbc3ff82a3817d7620de7fd295266bdc.tar.gz
Bump; sync with extra/libfprint; drop Validity patch
-rw-r--r--.SRCINFO15
-rw-r--r--PKGBUILD70
-rw-r--r--validity-sensor.patch550
3 files changed, 47 insertions, 588 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b814784e4a98..b6a902317277 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,26 +1,25 @@
# Generated by mksrcinfo v8
-# Wed Dec 6 09:45:59 UTC 2017
+# Wed Jul 11 02:36:59 UTC 2018
pkgbase = libfprint-git
- pkgdesc = Library for fingerprint readers (patched for VFS495 and other Validity sensors using a proprietary daemon)
- pkgver = 0.7.0.r4.g69de32f
+ pkgdesc = Library for fingerprint readers
+ pkgver = 0.8.1.r10.gb9e5b3a
pkgrel = 1
epoch = 1
url = http://www.freedesktop.org/wiki/Software/fprint/libfprint
- arch = i686
arch = x86_64
groups = fprint-git
license = LGPL
makedepends = git
+ makedepends = meson
+ makedepends = gtk-doc
depends = libusb
depends = nss
depends = pixman
- optdepends = vfs495-daemon: proprietary daemon for VFS495 and other Validity sensors
+ depends = glib2
provides = libfprint
conflicts = libfprint
- source = git://anongit.freedesktop.org/libfprint/libfprint.git
- source = validity-sensor.patch
+ source = git+https://gitlab.freedesktop.org/libfprint/libfprint.git
md5sums = SKIP
- md5sums = 0f4b23390584a9ed21ac702b33383ed0
pkgname = libfprint-git
diff --git a/PKGBUILD b/PKGBUILD
index 818a7fa04c9e..ce1b13dd3e1a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,53 +1,63 @@
# Maintainer: Ivan Shapovalov <intelfx@intelfx.name>
-# Contributor: Sven Greiner <sven@sammyshp.de>
-# Contributor: vldmr <vldmr@lavabit.com>
-# Contributor: Thomas Krug <phragment@lavabit.com>
-# Contributor: Matthew Bauer <mjbauer95@gmail.com>
+# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Tom Gundersen <teg@jklm.no>
+# Contributor: Thomas Baechler <thomas@archlinux.org>
pkgname=libfprint-git
+_pkgname=libfprint
epoch=1
-pkgver=0.7.0.r4.g69de32f
+pkgver=0.8.1.r10.gb9e5b3a
pkgrel=1
-pkgdesc="Library for fingerprint readers (patched for VFS495 and other Validity sensors using a proprietary daemon)"
-arch=(i686 x86_64)
+pkgdesc="Library for fingerprint readers"
+arch=(x86_64)
url="http://www.freedesktop.org/wiki/Software/fprint/libfprint"
license=(LGPL)
-depends=(libusb nss pixman)
-makedepends=(git)
-optdepends=("vfs495-daemon: proprietary daemon for VFS495 and other Validity sensors")
+depends=(libusb nss pixman glib2)
+makedepends=(git meson gtk-doc)
groups=(fprint-git)
provides=(libfprint)
conflicts=(libfprint)
-source=("git://anongit.freedesktop.org/libfprint/libfprint.git"
- "validity-sensor.patch")
-md5sums=('SKIP'
- '0f4b23390584a9ed21ac702b33383ed0')
+source=("git+https://gitlab.freedesktop.org/libfprint/libfprint.git")
+md5sums=('SKIP')
pkgver() {
- cd libfprint
-
- git describe --long --tags 2>/dev/null | sed 's/^V_//;s/\([0-9]*-g\)/r\1/;s/[-_]/./g'
+ cd $_pkgname
+ git describe --tags | sed 's/^V_//;s/_/./g;s/-/.r/;s/-/./'
}
prepare() {
- cd libfprint
-
- git apply -3 "$srcdir/validity-sensor.patch"
-
- NOCONFIGURE=1 ./autogen.sh
+ cd $_pkgname
}
build() {
- cd libfprint
+ # FIXME: documentation doesn't build:
+ #
+ # Building documentation for libfprint
+ # ERROR:
+ # Error in gtkdoc helper script:
+ #
+ # ERROR: 'gtkdoc-scangobj' failed with status 1
+ # Traceback (most recent call last):
+ # File "/usr/bin/gtkdoc-scangobj", line 71, in <module>
+ # sys.exit(scangobj.run(options))
+ # File "/usr/share/gtk-doc/python/gtkdoc/scangobj.py", line 1230, in run
+ # for line in common.open_text(options.types):
+ # File "/usr/share/gtk-doc/python/gtkdoc/common.py", line 51, in open_text
+ # return open(filename, mode, encoding=encoding)
+ # FileNotFoundError: [Errno 2] No such file or directory: '/tmp/makepkg/build/libfprint/src/libfprint/build/doc/libfprint.types'
+ # FAILED: meson-install
+ # /usr/bin/python /usr/bin/meson install --no-rebuild
+ # ninja: build stopped: subcommand failed.
+ #
+ arch-meson $_pkgname build -D x11-examples=false -D doc=false
+ ninja -C build
+}
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --disable-static
- make
+check() {
+ cd build
+ meson test
}
package() {
- cd libfprint
-
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" ninja -C build install
}
diff --git a/validity-sensor.patch b/validity-sensor.patch
deleted file mode 100644
index dc48037a057c..000000000000
--- a/validity-sensor.patch
+++ /dev/null
@@ -1,550 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index bc38434..8f39399 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -25,6 +25,9 @@ AC_SUBST(lt_age)
-
- all_drivers="upekts upektc upeksonly vcom5s uru4000 fdu2000 aes1610 aes1660 aes2501 aes2550 aes2660 aes3500 aes4000 vfs101 vfs301 vfs5011 upektc_img etes603 vfs0050 elan"
-
-+# XXX: VCS
-+all_drivers="$all_drivers vcs"
-+
- require_imaging='no'
- require_aeslib='no'
- require_aesX660='no'
-@@ -51,6 +54,9 @@ enable_etes603='no'
- enable_vfs0050='no'
- enable_elan='no'
-
-+# XXX: VCS
-+enable_vcs='no'
-+
- AC_ARG_WITH([drivers],[AS_HELP_STRING([--with-drivers],
- [List of drivers to enable])],
- [drivers="$withval"],
-@@ -160,6 +166,12 @@ for driver in `echo ${drivers} | sed -e 's/,/ /g' -e 's/,$//g'`; do
- AC_DEFINE([ENABLE_ELAN], [], [Build Elan driver])
- enable_elan="yes"
- ;;
-+
-+ # XXX: VCS
-+ vcs)
-+ AC_DEFINE([ENABLE_VCS], [], [Build Validity Sensors driver])
-+ enable_vcs="yes"
-+ ;;
- esac
- done
-
-@@ -188,6 +200,9 @@ AM_CONDITIONAL([ENABLE_ETES603], [test "$enable_etes603" = "yes"])
- AM_CONDITIONAL([ENABLE_VFS0050], [test "$enable_vfs0050" = "yes"])
- AM_CONDITIONAL([ENABLE_ELAN], [test "$enable_elan" = "yes"])
-
-+# XXX: VCS
-+AM_CONDITIONAL([ENABLE_VCS], [test "$enable_vcs" = "yes"])
-+
-
- PKG_CHECK_MODULES(LIBUSB, [libusb-1.0 >= 0.9.1])
- AC_SUBST(LIBUSB_CFLAGS)
-@@ -418,6 +433,14 @@ if test x$enable_elan != xno ; then
- else
- AC_MSG_NOTICE([ elan driver disabled])
- fi
-+
-+# XXX: VCS
-+if test x$enable_vcs != xno ; then
-+ AC_MSG_NOTICE([** validity sensors driver enabled])
-+else
-+ AC_MSG_NOTICE([ validity sensors driver disabled])
-+fi
-+
- if test x$require_aeslib != xno ; then
- AC_MSG_NOTICE([** aeslib helper functions enabled])
- else
-diff --git a/libfprint/Makefile.am b/libfprint/Makefile.am
-index 6d1e9c6..6ea0b80 100644
---- a/libfprint/Makefile.am
-+++ b/libfprint/Makefile.am
-@@ -24,6 +24,11 @@ ETES603_SRC = drivers/etes603.c
- VFS0050_SRC = drivers/vfs0050.c drivers/vfs0050.h
- ELAN_SRC = drivers/elan.c drivers/elan.h
-
-+# XXX: VCS
-+VCS_SRCS = drivers/validity/vfsDriver.c \
-+ drivers/validity/vfsDriver.h \
-+ drivers/validity/vfsWrapper.h
-+
- EXTRA_DIST = \
- $(UPEKE2_SRC) \
- $(UPEKTS_SRC) \
-@@ -38,6 +43,7 @@ EXTRA_DIST = \
- $(AES3500_SRC) \
- $(AES4000_SRC) \
- $(FDU2000_SRC) \
-+ $(VCS_SRCS) \
- $(VCOM5S_SRC) \
- $(VFS101_SRC) \
- $(VFS301_SRC) \
-@@ -196,6 +202,11 @@ if ENABLE_ELAN
- DRIVER_SRC += $(ELAN_SRC)
- endif
-
-+# XXX: VCS
-+if ENABLE_VCS
-+DRIVER_SRC += $(VCS_SRCS)
-+endif
-+
- if REQUIRE_PIXMAN
- OTHER_SRC += pixman.c
- libfprint_la_CFLAGS += $(IMAGING_CFLAGS)
-diff --git a/libfprint/core.c b/libfprint/core.c
-index 522213e..ac74cbf 100644
---- a/libfprint/core.c
-+++ b/libfprint/core.c
-@@ -408,6 +408,11 @@ static struct fp_img_driver * const img_drivers[] = {
- &fdu2000_driver,
- #endif
- */
-+
-+/* XXX: VCS */
-+#ifdef ENABLE_VCS
-+ &validity_driver,
-+#endif
- };
-
- static void register_drivers(void)
-diff --git a/libfprint/drivers/validity/vfsDriver.c b/libfprint/drivers/validity/vfsDriver.c
-new file mode 100644
-index 0000000..ebc0f7e
---- /dev/null
-+++ b/libfprint/drivers/validity/vfsDriver.c
-@@ -0,0 +1,288 @@
-+
-+
-+/*! @file vfsDriver.c
-+*******************************************************************************
-+* libfprint Interface Functions
-+*
-+* This file contains the libfprint interface functions for validity fingerprint sensor device.
-+*
-+* Copyright 2006 Validity Sensors, Inc.
-+
-+* 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 <errno.h>
-+#include <string.h>
-+#include <glib.h>
-+#include <fp_internal.h>
-+#include <stdio.h>
-+#include <dlfcn.h>
-+#include "vfsDriver.h"
-+#include "vfsWrapper.h"
-+#include <syslog.h>
-+
-+/* Maximum image height */
-+#define VFS_IMG_MAX_HEIGHT 1023
-+
-+/* Minimum image height */
-+#define VFS_IMG_MIN_HEIGHT 200
-+
-+/* Number of enroll stages */
-+#define VFS_NR_ENROLL 1
-+
-+#define VAL_MIN_ACCEPTABLE_MINUTIAE (2*MIN_ACCEPTABLE_MINUTIAE)
-+#define VAL_DEFAULT_THRESHOLD 60
-+
-+static const struct usb_id id_table[] = {
-+ { .vendor = VALIDITY_VENDOR_ID, .product = VALIDITY_PRODUCT_ID_301, },
-+ { .vendor = VALIDITY_VENDOR_ID, .product = VALIDITY_PRODUCT_ID_451, },
-+ { .vendor = VALIDITY_VENDOR_ID, .product = VALIDITY_PRODUCT_ID_5111, },
-+ { .vendor = VALIDITY_VENDOR_ID, .product = VALIDITY_PRODUCT_ID_5011, },
-+ { .vendor = VALIDITY_VENDOR_ID, .product = VALIDITY_PRODUCT_ID_471, },
-+ { .vendor = VALIDITY_VENDOR_ID, .product = VALIDITY_PRODUCT_ID_5131, },
-+ { .vendor = VALIDITY_VENDOR_ID, .product = VALIDITY_PRODUCT_ID_491, },
-+ { .vendor = VALIDITY_VENDOR_ID, .product = VALIDITY_PRODUCT_ID_495, },
-+ { 0, 0, 0, }, /* terminating entry */
-+};
-+
-+#define VFS_ASSERT(_state, _message, _err) ({ \
-+ if (__builtin_expect(!(_state), 0)) \
-+ { \
-+ fp_err((_message)); \
-+ fpi_imgdev_session_error(dev, (_err)); \
-+ if (img) \
-+ { \
-+ fp_img_free(img); \
-+ } \
-+ result = (_err); \
-+ goto cleanup; \
-+ } \
-+})
-+
-+static int vfs_extract_image(struct fp_img_dev *dev,
-+ void *const handle,
-+ struct fp_img *img,
-+ const size_t data_len)
-+{
-+ validity_dev *vdev = dev->priv;
-+ unsigned char *data;
-+
-+ vfs_get_img_width_t vfs_get_img_width;
-+ vfs_get_img_height_t vfs_get_img_height;
-+ vfs_get_img_data_t vfs_get_img_data;
-+ vfs_free_img_data_t vfs_free_img_data;
-+
-+ vfs_get_img_width = dlsym(handle, "vfs_get_img_width");
-+ if (__builtin_expect(!vfs_get_img_width, 0))
-+ {
-+ fp_err(dlerror());
-+ return -ENODEV;
-+ }
-+
-+ img->width =(* vfs_get_img_width)(vdev);
-+
-+ vfs_get_img_height = dlsym(handle, "vfs_get_img_height");
-+ if (__builtin_expect(!vfs_get_img_height, 0))
-+ {
-+ fp_err(dlerror());
-+ return -ENODEV;
-+ }
-+
-+ img->height =(*vfs_get_img_height)(vdev);
-+
-+ fp_dbg("%d x %d image returned\n", img->width, img->height );
-+
-+ vfs_get_img_data = dlsym(handle, "vfs_get_img_data");
-+ if (__builtin_expect(!vfs_get_img_data, 0))
-+ {
-+ fp_err(dlerror());
-+ return -ENODEV;
-+ }
-+
-+ data =(*vfs_get_img_data)(vdev);
-+
-+ if (data)
-+ {
-+ g_memmove(img->data, data, data_len);
-+
-+ img->flags = FP_IMG_COLORS_INVERTED | FP_IMG_V_FLIPPED;
-+
-+ vfs_free_img_data = dlsym(handle, "vfs_free_img_data");
-+ if (__builtin_expect(!vfs_free_img_data, 0))
-+ {
-+ fp_err(dlerror());
-+ return -ENODEV;
-+ }
-+
-+ (*vfs_free_img_data)(data);
-+ }
-+ else
-+ {
-+ fp_err("Failed to get finger print image data");
-+ return -ENODATA;
-+ }
-+
-+ return 0;
-+}
-+
-+/* Activate device */
-+static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
-+{
-+ validity_dev *vdev = dev->priv;
-+ void *handle;
-+ size_t data_len;
-+ struct fp_img *img = NULL;
-+ int result = 0;
-+
-+ vfs_wait_for_service_t vfs_wait_for_service;
-+ vfs_set_matcher_type_t vfs_set_matcher_type;
-+ vfs_dev_init_t vfs_dev_init;
-+ vfs_capture_t vfs_capture;
-+ vfs_get_img_datasize_t vfs_get_img_datasize;
-+ vfs_clean_handles_t vfs_clean_handles;
-+ vfs_dev_exit_t vfs_dev_exit;
-+
-+ /* Notify activate complete */
-+ fpi_imgdev_activate_complete(dev, 0);
-+
-+ handle = dlopen("libvfsFprintWrapper.so",
-+ RTLD_LAZY | RTLD_GLOBAL | RTLD_NODELETE);
-+ VFS_ASSERT(handle, dlerror(), -ENODEV);
-+
-+ /* wait for validity device to come up and be ready to take a finger swipe
-+ * Wait will happen for a stipulated time(10s - 40s), then errors
-+ */
-+ vfs_wait_for_service = dlsym(handle, "vfs_wait_for_service");
-+ VFS_ASSERT(vfs_wait_for_service, dlerror(), -ENODEV);
-+
-+ result = (*vfs_wait_for_service)();
-+ VFS_ASSERT(result == VFS_RESULT_WRAPPER_OK,
-+ "VFS module failed to wait for service", -EPERM);
-+
-+ /* Set the matcher type */
-+ vfs_set_matcher_type = dlsym(handle, "vfs_set_matcher_type");
-+ VFS_ASSERT(vfs_set_matcher_type, dlerror(), -ENODEV);
-+
-+ (*vfs_set_matcher_type)(VFS_FPRINT_MATCHER);
-+
-+ vfs_dev_init = dlsym(handle, "vfs_dev_init");
-+ VFS_ASSERT(vfs_dev_init, dlerror(), -ENODEV);
-+
-+ result = (*vfs_dev_init)(vdev);
-+ VFS_ASSERT(result == VFS_RESULT_WRAPPER_OK,
-+ "VFS module failed to initialize", -EPERM);
-+
-+ vfs_capture = dlsym(handle, "vfs_capture");
-+ VFS_ASSERT(vfs_capture, dlerror(), -ENODEV);
-+
-+ result = (*vfs_capture)(vdev, 1);
-+ VFS_ASSERT(result == VFS_FP_CAPTURE_COMPLETE,
-+ "Could not capture fingerprint", -EIO);
-+
-+ vfs_get_img_datasize = dlsym(handle, "vfs_get_img_datasize");
-+ VFS_ASSERT(vfs_get_img_datasize, dlerror(), -ENODEV);
-+
-+ data_len = (*vfs_get_img_datasize)(vdev);
-+ VFS_ASSERT(data_len, "Zero image size", -ENOMEM);
-+
-+ img = fpi_img_new(data_len);
-+ VFS_ASSERT(img, "Could not get new fpi img", -ENOMEM);
-+
-+ /* Fingerprint is present, load image from reader */
-+ fpi_imgdev_report_finger_status(dev, TRUE);
-+
-+ result = vfs_extract_image(dev, handle, img, data_len);
-+ VFS_ASSERT(!result, "", result);
-+
-+ fpi_imgdev_image_captured(dev, img);
-+
-+ /* NOTE: finger off is expected only after submitting image... */
-+ fpi_imgdev_report_finger_status(dev, FALSE);
-+
-+ result = 0;
-+
-+cleanup:
-+ if (result != -ENODEV)
-+ {
-+ vfs_clean_handles = dlsym(handle, "vfs_clean_handles");
-+ if (vfs_clean_handles)
-+ {
-+ (*vfs_clean_handles)(vdev);
-+ }
-+
-+ vfs_dev_exit = dlsym(handle, "vfs_dev_exit");
-+ if (vfs_dev_exit)
-+ {
-+ (*vfs_dev_exit)(vdev);
-+ }
-+ }
-+
-+ dlclose(handle);
-+
-+ return result;
-+}
-+
-+/* Deactivate device */
-+static void dev_deactivate(struct fp_img_dev *dev)
-+{
-+ fpi_imgdev_deactivate_complete(dev);
-+}
-+
-+static int dev_open(struct fp_img_dev *dev, unsigned long driver_data)
-+{
-+ validity_dev *vdev = NULL;
-+
-+ /* Set enroll stage number */
-+ dev->dev->nr_enroll_stages = VFS_NR_ENROLL;
-+
-+ /* Initialize private structure */
-+ vdev = g_malloc0(sizeof(validity_dev));
-+ dev->priv = vdev;
-+
-+ /* Notify open complete */
-+ fpi_imgdev_open_complete(dev, 0);
-+
-+ return 0;
-+}
-+
-+static void dev_close(struct fp_img_dev *dev)
-+{
-+ /* Release private structure */
-+ g_free(dev->priv);
-+
-+ /* Notify close complete */
-+ fpi_imgdev_close_complete(dev);
-+}
-+
-+struct fp_img_driver validity_driver = {
-+ .driver = {
-+ .id = VALIDITY_DRIVER_ID,
-+ .name = VALIDITY_FP_COMPONENT,
-+ .full_name = VALIDITY_DRIVER_FULLNAME,
-+ .id_table = id_table,
-+ .scan_type = FP_SCAN_TYPE_SWIPE,
-+ },
-+
-+ /* Image specification */
-+ .flags = 0,
-+ .img_width = -1,
-+ .img_height = -1,
-+
-+ .open = dev_open,
-+ .close = dev_close,
-+ .activate = dev_activate,
-+ .deactivate = dev_deactivate
-+};
-+
-diff --git a/libfprint/drivers/validity/vfsDriver.h b/libfprint/drivers/validity/vfsDriver.h
-new file mode 100644
-index 0000000..81be112
---- /dev/null
-+++ b/libfprint/drivers/validity/vfsDriver.h
-@@ -0,0 +1,65 @@
-+
-+/*! @file vfsDriver.h
-+*******************************************************************************
-+* libfprint Interface Functions
-+*
-+* This file contains the libfprint interface functions and definitions
-+*
-+* Copyright 2006 Validity Sensors, Inc.
-+
-+* 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
-+*/
-+
-+#ifndef __vfsDriver_h__
-+#define __vcsDriver_h__
-+
-+#define VCS_MAX_FINGER 10
-+#define VALIDITY_DRIVER_ID 10
-+#define VALIDITY_VENDOR_ID 0x138A
-+#define VALIDITY_PRODUCT_ID_301 0x0005
-+#define VALIDITY_PRODUCT_ID_451 0x0007
-+#define VALIDITY_PRODUCT_ID_5111 0x0010
-+#define VALIDITY_PRODUCT_ID_5011 0x0011
-+#define VALIDITY_PRODUCT_ID_471 0x003c
-+#define VALIDITY_PRODUCT_ID_5131 0x0018
-+#define VALIDITY_PRODUCT_ID_491 0x003d
-+#define VALIDITY_PRODUCT_ID_495 0x003f
-+#define VALIDITY_DRIVER_FULLNAME "Validity Sensors"
-+#define VALIDITY_FP_COMPONENT "Validity"
-+#define MAX_ENROLLMENT_PRINTS 3
-+#define MAX_TEMPLATES 10
-+#define VFS_NT_MATCHER 1
-+#define VFS_COGENT_MATCHER 2
-+#define VFS_FPRINT_MATCHER 3
-+
-+#define VFS_RESULT_WRAPPER_OK 0
-+
-+enum vfs_fp_capture_result
-+{
-+ VFS_FP_CAPTURE_ERROR = -1,
-+ VFS_FP_CAPTURE_COMPLETE = 1,
-+ VFS_FP_CAPTURE_FAIL
-+};
-+
-+typedef struct validity_dev_s
-+{
-+ void *pValidityCtx;
-+ void *hImage;
-+ void *pEnrollData;
-+}validity_dev;
-+
-+#endif // __vfsDriver_h__
-+
-+
-diff --git a/libfprint/drivers/validity/vfsWrapper.h b/libfprint/drivers/validity/vfsWrapper.h
-new file mode 100644
-index 0000000..55d1f43
---- /dev/null
-+++ b/libfprint/drivers/validity/vfsWrapper.h
-@@ -0,0 +1,39 @@
-+/*******************************************************************************
-+* Helper functions for Validity driver interface functions
-+*
-+* This file contains the Helper functions for Validity driver interface functions
-+* and their definitions
-+*
-+* Copyright 2006 Validity Sensors, Inc.
-+*
-+* 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
-+*/
-+
-+#ifndef __vfsWrapper_h__
-+#define __vfsWrapper_h__
-+
-+typedef int (*vfs_dev_init_t)(void *);
-+typedef int (*vfs_wait_for_service_t)(void);
-+typedef int (*vfs_set_matcher_type_t)(int);
-+typedef int (*vfs_capture_t)(void *, int);
-+typedef int (*vfs_get_img_datasize_t) (void *);
-+typedef int (*vfs_get_img_width_t) (void *);
-+typedef int (*vfs_get_img_height_t) (void *);
-+typedef unsigned char* (*vfs_get_img_data_t)(void *);
-+typedef void (*vfs_free_img_data_t)(unsigned char *);
-+typedef void (*vfs_clean_handles_t)(void *);
-+typedef void (*vfs_dev_exit_t)(void *);
-+
-+#endif /*vfsWrapper */
-diff --git a/libfprint/fp_internal.h b/libfprint/fp_internal.h
-index 7897a2e..fa9692a 100644
---- a/libfprint/fp_internal.h
-+++ b/libfprint/fp_internal.h
-@@ -233,6 +233,9 @@ enum fp_print_data_type fpi_driver_get_data_type(struct fp_driver *drv);
- /* flags for fp_img_driver.flags */
- #define FP_IMGDRV_SUPPORTS_UNCONDITIONAL_CAPTURE (1 << 0)
-
-+#define BOZORTH3_DEFAULT_THRESHOLD 40
-+#define MIN_ACCEPTABLE_MINUTIAE 10
-+
- struct fp_img_driver {
- struct fp_driver driver;
- uint16_t flags;
-@@ -312,6 +315,11 @@ extern struct fp_img_driver vfs0050_driver;
- extern struct fp_img_driver elan_driver;
- #endif
-
-+/* XXX: VCS */
-+#ifdef ENABLE_VCS
-+extern struct fp_img_driver validity_driver;
-+#endif
-+
- extern libusb_context *fpi_usb_ctx;
- extern GSList *opened_devices;
-