lib: Remove duplicated structs from fp_internal.h
They are already declared in fpi-core.h. Also move their API docs to fpi-core.h.
This commit is contained in:
parent
dabcae7b4d
commit
451a4c0969
2 changed files with 36 additions and 82 deletions
|
@ -28,8 +28,9 @@
|
||||||
#include <libusb.h>
|
#include <libusb.h>
|
||||||
|
|
||||||
#include "fprint.h"
|
#include "fprint.h"
|
||||||
#include "fpi-log.h"
|
|
||||||
#include "fpi-dev.h"
|
#include "fpi-dev.h"
|
||||||
|
#include "fpi-core.h"
|
||||||
|
#include "fpi-log.h"
|
||||||
#include "fpi-dev-img.h"
|
#include "fpi-dev-img.h"
|
||||||
#include "fpi-data.h"
|
#include "fpi-data.h"
|
||||||
#include "fpi-img.h"
|
#include "fpi-img.h"
|
||||||
|
@ -145,72 +146,6 @@ struct fp_img_dev {
|
||||||
|
|
||||||
/* fp_driver structure definition */
|
/* fp_driver structure definition */
|
||||||
|
|
||||||
/**
|
|
||||||
* usb_id:
|
|
||||||
* @vendor: the USB vendor ID
|
|
||||||
* @product: the USB product ID
|
|
||||||
* @driver_data: data to differentiate devices of different
|
|
||||||
* vendor and product IDs.
|
|
||||||
*
|
|
||||||
* The struct #usb_id is used to declare devices supported by a
|
|
||||||
* particular driver. The @driver_data information is used to
|
|
||||||
* differentiate different models of devices which only need
|
|
||||||
* small changes compared to the default driver behaviour to function.
|
|
||||||
*
|
|
||||||
* For example, a device might have a different initialisation from
|
|
||||||
* the stock device, so the driver could do:
|
|
||||||
*
|
|
||||||
* |[<!-- language="C" -->
|
|
||||||
* if (driver_data == MY_DIFFERENT_DEVICE_QUIRK) {
|
|
||||||
* ...
|
|
||||||
* } else {
|
|
||||||
* ...
|
|
||||||
* }
|
|
||||||
* ]|
|
|
||||||
*
|
|
||||||
* The default value is zero, so the @driver_data needs to be a
|
|
||||||
* non-zero to be useful.
|
|
||||||
*/
|
|
||||||
struct usb_id {
|
|
||||||
uint16_t vendor;
|
|
||||||
uint16_t product;
|
|
||||||
unsigned long driver_data;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* fp_driver_type:
|
|
||||||
* @DRIVER_PRIMITIVE: primitive, non-imaging, driver
|
|
||||||
* @DRIVER_IMAGING: imaging driver
|
|
||||||
*
|
|
||||||
* The type of device the driver supports.
|
|
||||||
*/
|
|
||||||
enum fp_driver_type {
|
|
||||||
DRIVER_PRIMITIVE = 0,
|
|
||||||
DRIVER_IMAGING = 1,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct fp_driver {
|
|
||||||
const uint16_t id;
|
|
||||||
const char *name;
|
|
||||||
const char *full_name;
|
|
||||||
const struct usb_id * const id_table;
|
|
||||||
enum fp_driver_type type;
|
|
||||||
enum fp_scan_type scan_type;
|
|
||||||
|
|
||||||
/* Device operations */
|
|
||||||
int (*discover)(struct libusb_device_descriptor *dsc, uint32_t *devtype);
|
|
||||||
int (*open)(struct fp_dev *dev, unsigned long driver_data);
|
|
||||||
void (*close)(struct fp_dev *dev);
|
|
||||||
int (*enroll_start)(struct fp_dev *dev);
|
|
||||||
int (*enroll_stop)(struct fp_dev *dev);
|
|
||||||
int (*verify_start)(struct fp_dev *dev);
|
|
||||||
int (*verify_stop)(struct fp_dev *dev, gboolean iterating);
|
|
||||||
int (*identify_start)(struct fp_dev *dev);
|
|
||||||
int (*identify_stop)(struct fp_dev *dev, gboolean iterating);
|
|
||||||
int (*capture_start)(struct fp_dev *dev);
|
|
||||||
int (*capture_stop)(struct fp_dev *dev);
|
|
||||||
};
|
|
||||||
|
|
||||||
/* fp_img_driver structure definition */
|
/* fp_img_driver structure definition */
|
||||||
#define container_of(ptr, type, member) ({ \
|
#define container_of(ptr, type, member) ({ \
|
||||||
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
|
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
|
||||||
|
@ -218,21 +153,6 @@ struct fp_driver {
|
||||||
#define fpi_driver_to_img_driver(drv) \
|
#define fpi_driver_to_img_driver(drv) \
|
||||||
container_of((drv), struct fp_img_driver, driver)
|
container_of((drv), struct fp_img_driver, driver)
|
||||||
|
|
||||||
struct fp_img_driver {
|
|
||||||
struct fp_driver driver;
|
|
||||||
uint16_t flags;
|
|
||||||
int img_width;
|
|
||||||
int img_height;
|
|
||||||
int bz3_threshold;
|
|
||||||
|
|
||||||
/* Device operations */
|
|
||||||
int (*open)(struct fp_img_dev *dev, unsigned long driver_data);
|
|
||||||
void (*close)(struct fp_img_dev *dev);
|
|
||||||
int (*activate)(struct fp_img_dev *dev, enum fp_imgdev_state state);
|
|
||||||
int (*change_state)(struct fp_img_dev *dev, enum fp_imgdev_state state);
|
|
||||||
void (*deactivate)(struct fp_img_dev *dev);
|
|
||||||
};
|
|
||||||
|
|
||||||
/* fp_dscv_dev structure definition */
|
/* fp_dscv_dev structure definition */
|
||||||
struct fp_dscv_dev {
|
struct fp_dscv_dev {
|
||||||
struct libusb_device *udev;
|
struct libusb_device *udev;
|
||||||
|
|
|
@ -21,13 +21,47 @@
|
||||||
#define __FPI_CORE_H__
|
#define __FPI_CORE_H__
|
||||||
|
|
||||||
#include <fprint.h>
|
#include <fprint.h>
|
||||||
|
#include "fpi-dev-img.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* usb_id:
|
||||||
|
* @vendor: the USB vendor ID
|
||||||
|
* @product: the USB product ID
|
||||||
|
* @driver_data: data to differentiate devices of different
|
||||||
|
* vendor and product IDs.
|
||||||
|
*
|
||||||
|
* The struct #usb_id is used to declare devices supported by a
|
||||||
|
* particular driver. The @driver_data information is used to
|
||||||
|
* differentiate different models of devices which only need
|
||||||
|
* small changes compared to the default driver behaviour to function.
|
||||||
|
*
|
||||||
|
* For example, a device might have a different initialisation from
|
||||||
|
* the stock device, so the driver could do:
|
||||||
|
*
|
||||||
|
* |[<!-- language="C" -->
|
||||||
|
* if (driver_data == MY_DIFFERENT_DEVICE_QUIRK) {
|
||||||
|
* ...
|
||||||
|
* } else {
|
||||||
|
* ...
|
||||||
|
* }
|
||||||
|
* ]|
|
||||||
|
*
|
||||||
|
* The default value is zero, so the @driver_data needs to be a
|
||||||
|
* non-zero to be useful.
|
||||||
|
*/
|
||||||
struct usb_id {
|
struct usb_id {
|
||||||
uint16_t vendor;
|
uint16_t vendor;
|
||||||
uint16_t product;
|
uint16_t product;
|
||||||
unsigned long driver_data;
|
unsigned long driver_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fp_driver_type:
|
||||||
|
* @DRIVER_PRIMITIVE: primitive, non-imaging, driver
|
||||||
|
* @DRIVER_IMAGING: imaging driver
|
||||||
|
*
|
||||||
|
* The type of device the driver supports.
|
||||||
|
*/
|
||||||
enum fp_driver_type {
|
enum fp_driver_type {
|
||||||
DRIVER_PRIMITIVE = 0,
|
DRIVER_PRIMITIVE = 0,
|
||||||
DRIVER_IMAGING = 1,
|
DRIVER_IMAGING = 1,
|
||||||
|
|
Loading…
Reference in a new issue