From 1035f733aa2f539c3acff93925cef3edd7d2d90a Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 27 Sep 2018 17:14:34 +0200 Subject: [PATCH] lib: Split off async functions And don't add the new fpi-async.h to the driver imports, it will only be used by the upekts driver. --- libfprint/drivers/upekts.c | 1 + libfprint/drivers_api.h | 23 -------------- libfprint/fp_internal.h | 31 ++----------------- libfprint/{async.c => fpi-async.c} | 1 + libfprint/fpi-async.h | 49 ++++++++++++++++++++++++++++++ libfprint/imgdev.c | 1 + libfprint/meson.build | 3 +- 7 files changed, 57 insertions(+), 52 deletions(-) rename libfprint/{async.c => fpi-async.c} (99%) create mode 100644 libfprint/fpi-async.h diff --git a/libfprint/drivers/upekts.c b/libfprint/drivers/upekts.c index 47eb0d2..b930863 100644 --- a/libfprint/drivers/upekts.c +++ b/libfprint/drivers/upekts.c @@ -28,6 +28,7 @@ #define FP_COMPONENT "upekts" #include "drivers_api.h" +#include "fpi-async.h" #include "upek_proto.h" #define EP_IN (1 | LIBUSB_ENDPOINT_IN) diff --git a/libfprint/drivers_api.h b/libfprint/drivers_api.h index 432f1e3..4df2060 100644 --- a/libfprint/drivers_api.h +++ b/libfprint/drivers_api.h @@ -128,29 +128,6 @@ struct fp_img_driver { struct fp_minutiae; -void fpi_drvcb_open_complete(struct fp_dev *dev, int status); -void fpi_drvcb_close_complete(struct fp_dev *dev); - -void fpi_drvcb_enroll_started(struct fp_dev *dev, int status); -void fpi_drvcb_enroll_stage_completed(struct fp_dev *dev, int result, - struct fp_print_data *data, struct fp_img *img); -void fpi_drvcb_enroll_stopped(struct fp_dev *dev); - -void fpi_drvcb_verify_started(struct fp_dev *dev, int status); -void fpi_drvcb_report_verify_result(struct fp_dev *dev, int result, - struct fp_img *img); -void fpi_drvcb_verify_stopped(struct fp_dev *dev); - -void fpi_drvcb_identify_started(struct fp_dev *dev, int status); -void fpi_drvcb_report_identify_result(struct fp_dev *dev, int result, - size_t match_offset, struct fp_img *img); -void fpi_drvcb_identify_stopped(struct fp_dev *dev); - -void fpi_drvcb_capture_started(struct fp_dev *dev, int status); -void fpi_drvcb_report_capture_result(struct fp_dev *dev, int result, - struct fp_img *img); -void fpi_drvcb_capture_stopped(struct fp_dev *dev); - /* for image drivers */ void fpi_imgdev_open_complete(struct fp_img_dev *imgdev, int status); void fpi_imgdev_close_complete(struct fp_img_dev *imgdev); diff --git a/libfprint/fp_internal.h b/libfprint/fp_internal.h index deb520a..8ab8711 100644 --- a/libfprint/fp_internal.h +++ b/libfprint/fp_internal.h @@ -34,10 +34,6 @@ #include "fpi-img.h" #include "drivers/driver_ids.h" -#define container_of(ptr, type, member) ({ \ - const typeof( ((type *)0)->member ) *__mptr = (ptr); \ - (type *)( (char *)__mptr - offsetof(type,member) );}) - enum fp_dev_state { DEV_STATE_INITIAL = 0, DEV_STATE_ERROR, @@ -222,6 +218,9 @@ extern GSList *opened_devices; void fpi_img_driver_setup(struct fp_img_driver *idriver); +#define container_of(ptr, type, member) ({ \ + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type,member) );}) #define fpi_driver_to_img_driver(drv) \ container_of((drv), struct fp_img_driver, driver) @@ -278,28 +277,4 @@ void fpi_timeout_cancel_all_for_dev(struct fp_dev *dev); void fpi_poll_init(void); void fpi_poll_exit(void); -void fpi_drvcb_open_complete(struct fp_dev *dev, int status); -void fpi_drvcb_close_complete(struct fp_dev *dev); - -void fpi_drvcb_enroll_started(struct fp_dev *dev, int status); -void fpi_drvcb_enroll_stage_completed(struct fp_dev *dev, int result, - struct fp_print_data *data, struct fp_img *img); -void fpi_drvcb_enroll_stopped(struct fp_dev *dev); - -void fpi_drvcb_verify_started(struct fp_dev *dev, int status); -void fpi_drvcb_report_verify_result(struct fp_dev *dev, int result, - struct fp_img *img); -void fpi_drvcb_verify_stopped(struct fp_dev *dev); - -void fpi_drvcb_identify_started(struct fp_dev *dev, int status); -void fpi_drvcb_report_identify_result(struct fp_dev *dev, int result, - size_t match_offset, struct fp_img *img); -void fpi_drvcb_identify_stopped(struct fp_dev *dev); - -void fpi_drvcb_capture_started(struct fp_dev *dev, int status); -void fpi_drvcb_report_capture_result(struct fp_dev *dev, int result, - struct fp_img *img); -void fpi_drvcb_capture_stopped(struct fp_dev *dev); - #endif - diff --git a/libfprint/async.c b/libfprint/fpi-async.c similarity index 99% rename from libfprint/async.c rename to libfprint/fpi-async.c index 7a9cd0c..cce0dca 100644 --- a/libfprint/async.c +++ b/libfprint/fpi-async.c @@ -20,6 +20,7 @@ #define FP_COMPONENT "async" #include "fp_internal.h" +#include "fpi-async.h" #include #include diff --git a/libfprint/fpi-async.h b/libfprint/fpi-async.h new file mode 100644 index 0000000..120a7c7 --- /dev/null +++ b/libfprint/fpi-async.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2007-2008 Daniel Drake + * Copyright (C) 2018 Bastien Nocera + * + * 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 __FPI_ASYNC_H__ +#define __FPI_ASYNC_H__ + +#include "fpi-dev.h" +#include "fpi-data.h" + +void fpi_drvcb_open_complete(struct fp_dev *dev, int status); +void fpi_drvcb_close_complete(struct fp_dev *dev); + +void fpi_drvcb_enroll_started(struct fp_dev *dev, int status); +void fpi_drvcb_enroll_stage_completed(struct fp_dev *dev, int result, + struct fp_print_data *data, struct fp_img *img); +void fpi_drvcb_enroll_stopped(struct fp_dev *dev); + +void fpi_drvcb_verify_started(struct fp_dev *dev, int status); +void fpi_drvcb_report_verify_result(struct fp_dev *dev, int result, + struct fp_img *img); +void fpi_drvcb_verify_stopped(struct fp_dev *dev); + +void fpi_drvcb_identify_started(struct fp_dev *dev, int status); +void fpi_drvcb_report_identify_result(struct fp_dev *dev, int result, + size_t match_offset, struct fp_img *img); +void fpi_drvcb_identify_stopped(struct fp_dev *dev); + +void fpi_drvcb_capture_started(struct fp_dev *dev, int status); +void fpi_drvcb_report_capture_result(struct fp_dev *dev, int result, + struct fp_img *img); +void fpi_drvcb_capture_stopped(struct fp_dev *dev); + +#endif diff --git a/libfprint/imgdev.c b/libfprint/imgdev.c index 605f6ce..ac5de83 100644 --- a/libfprint/imgdev.c +++ b/libfprint/imgdev.c @@ -22,6 +22,7 @@ #include #include "fp_internal.h" +#include "fpi-async.h" #define MIN_ACCEPTABLE_MINUTIAE 10 #define BOZORTH3_DEFAULT_THRESHOLD 40 diff --git a/libfprint/meson.build b/libfprint/meson.build index f25db93..b5e489e 100644 --- a/libfprint/meson.build +++ b/libfprint/meson.build @@ -1,7 +1,8 @@ libfprint_sources = [ 'fp_internal.h', 'drivers_api.h', - 'async.c', + 'fpi-async.c', + 'fpi-async.h', 'core.c', 'fpi-data.c', 'fpi-data.h',