Initialisation and events handling
LIBFPRINT_DEPRECATED
-fp_set_debug
fp_init
fp_exit
fp_pollfd
@@ -28,9 +27,6 @@ fp_dscv_dev_get_driver
fp_dscv_dev_get_devtype
fp_dscv_dev_get_driver_id
fp_dscv_dev_supports_print_data
-fp_dscv_dev_supports_dscv_print
-fp_dscv_dev_for_print_data
-fp_dscv_dev_for_dscv_print
@@ -59,7 +55,6 @@ fp_dev_get_devtype
fp_dev_supports_print_data
fp_dev_supports_imaging
fp_dev_supports_identification
-fp_dev_supports_dscv_print
fp_dev_get_img_width
fp_dev_get_img_height
@@ -102,27 +97,11 @@ fp_finger
fp_print_data
fp_print_data_get_data
fp_print_data_from_data
-fp_print_data_save
-fp_print_data_load
-fp_print_data_delete
-fp_print_data_from_dscv_print
fp_print_data_free
fp_print_data_get_driver_id
fp_print_data_get_devtype
-
-fprint.h
-dscv_print
-fp_dscv_print
-fp_discover_prints
-fp_dscv_prints_free
-fp_dscv_print_get_driver_id
-fp_dscv_print_get_devtype
-fp_dscv_print_get_finger
-fp_dscv_print_delete
-
-
fprint.himg
diff --git a/libfprint/fp_internal.h b/libfprint/fp_internal.h
index 5c89e18..7861032 100644
--- a/libfprint/fp_internal.h
+++ b/libfprint/fp_internal.h
@@ -162,14 +162,6 @@ struct fp_dscv_dev {
uint32_t devtype;
};
-/* fp_dscv_print structure definition */
-struct fp_dscv_print {
- uint16_t driver_id;
- uint32_t devtype;
- enum fp_finger finger;
- char *path;
-};
-
/* fp_minutia structure definition */
struct fp_minutia {
int x;
@@ -206,7 +198,6 @@ struct fp_driver **fprint_get_drivers (void);
enum fp_print_data_type fpi_driver_get_data_type(struct fp_driver *drv);
/* Defined in fpi-data.c */
-void fpi_data_exit(void);
gboolean fpi_print_data_compatible(uint16_t driver_id1, uint32_t devtype1,
enum fp_print_data_type type1, uint16_t driver_id2, uint32_t devtype2,
enum fp_print_data_type type2);
diff --git a/libfprint/fpi-core.c b/libfprint/fpi-core.c
index 6009c82..ee158bd 100644
--- a/libfprint/fpi-core.c
+++ b/libfprint/fpi-core.c
@@ -416,88 +416,6 @@ API_EXPORTED int fp_dscv_dev_supports_print_data(struct fp_dscv_dev *dev,
print->type);
}
-/**
- * fp_dscv_dev_supports_dscv_print:
- * @dev: the discovered device
- * @print: the discovered print for compatibility checking
- *
- * Determines if a specific #fp_dscv_print discovered print appears to be
- * compatible with a discovered device.
- *
- * Returns: 1 if the print is compatible with the device, 0 otherwise
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED int fp_dscv_dev_supports_dscv_print(struct fp_dscv_dev *dev,
- struct fp_dscv_print *print)
-{
- g_return_val_if_fail(dev, 0);
- g_return_val_if_fail(print, 0);
-
- return fpi_print_data_compatible(dev->drv->id, dev->devtype, 0,
- print->driver_id, print->devtype, 0);
-}
-
-/**
- * fp_dscv_dev_for_print_data:
- * @devs: a list of discovered devices
- * @print: the print under inspection
- *
- * Searches a list of discovered devices for a device that appears to be
- * compatible with a #fp_print_data stored print.
- *
- * Returns: the first discovered device that appears to support the print, or
- * %NULL if no apparently compatible devices could be found
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED struct fp_dscv_dev *fp_dscv_dev_for_print_data(struct fp_dscv_dev **devs,
- struct fp_print_data *print)
-{
- struct fp_dscv_dev *ddev;
- int i;
-
- g_return_val_if_fail(devs, NULL);
- g_return_val_if_fail(print, NULL);
-
- for (i = 0; (ddev = devs[i]); i++)
- if (fp_dscv_dev_supports_print_data(ddev, print))
- return ddev;
- return NULL;
-}
-
-/**
- * fp_dscv_dev_for_dscv_print:
- * @devs: a list of discovered devices
- * @print: the print under inspection
- *
- * Searches a list of discovered devices for a device that appears to be
- * compatible with a #fp_dscv_print discovered print.
- *
- * Returns: the first discovered device that appears to support the print, or
- * %NULL if no apparently compatible devices could be found
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED struct fp_dscv_dev *fp_dscv_dev_for_dscv_print(struct fp_dscv_dev **devs,
- struct fp_dscv_print *print)
-{
- struct fp_dscv_dev *ddev;
- int i;
-
- g_return_val_if_fail(devs, NULL);
- g_return_val_if_fail(print, NULL);
-
- for (i = 0; (ddev = devs[i]); i++) {
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
- if (fp_dscv_dev_supports_dscv_print(ddev, print))
- return ddev;
-#pragma GCC diagnostic pop
- }
- return NULL;
-}
-
/**
* fp_dev_get_driver:
* @dev: the struct #fp_dev device
@@ -564,28 +482,6 @@ API_EXPORTED int fp_dev_supports_print_data(struct fp_dev *dev,
data->type);
}
-/**
- * fp_dev_supports_dscv_print:
- * @dev: the struct #fp_dev device
- * @print: the discovered print
- *
- * Determines if a #fp_dscv_print discovered print appears to be compatible
- * with a certain device.
- *
- * Returns: 1 if the print is compatible with the device, 0 if not
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED int fp_dev_supports_dscv_print(struct fp_dev *dev,
- struct fp_dscv_print *print)
-{
- g_return_val_if_fail(dev, 0);
- g_return_val_if_fail(print, 0);
-
- return fpi_print_data_compatible(dev->drv->id, dev->devtype,
- 0, print->driver_id, print->devtype, 0);
-}
-
/**
* fp_driver_get_name:
* @drv: the driver
@@ -826,7 +722,6 @@ API_EXPORTED void fp_exit(void)
opened_devices = NULL;
}
- fpi_data_exit();
fpi_poll_exit();
g_slist_free(registered_drivers);
registered_drivers = NULL;
diff --git a/libfprint/fpi-data.c b/libfprint/fpi-data.c
index c19142a..2a33064 100644
--- a/libfprint/fpi-data.c
+++ b/libfprint/fpi-data.c
@@ -61,10 +61,6 @@ struct fpi_print_data_item_fp2 {
* to convert print data into byte strings, and to reconstruct stored prints
* from such data at a later point. You are welcome to store these byte strings
* in any fashion that suits you.
- *
- * The provided API to store data on disk is deprecated and should not be
- * used anymore. This API stored the prints in the current user's home
- * directory.
*/
/*
@@ -77,51 +73,9 @@ struct fpi_print_data_item_fp2 {
* See #fp_print_data for the public API counterpart.
*/
-static char *base_store = NULL;
-
-static void storage_setup(void)
-{
- const char *homedir;
-
- homedir = g_getenv("HOME");
- if (!homedir)
- homedir = g_get_home_dir();
- if (!homedir)
- return;
-
- base_store = g_build_filename(homedir, ".fprint/prints", NULL);
- g_mkdir_with_parents(base_store, DIR_PERMS);
- /* FIXME handle failure */
-}
-
-void fpi_data_exit(void)
-{
- g_free(base_store);
-}
-
#define FP_FINGER_IS_VALID(finger) \
((finger) >= LEFT_THUMB && (finger) <= RIGHT_LITTLE)
-/* for debug messages only */
-static const char *finger_num_to_str(enum fp_finger finger)
-{
- const char *names[] = {
- [LEFT_THUMB] = "left thumb",
- [LEFT_INDEX] = "left index",
- [LEFT_MIDDLE] = "left middle",
- [LEFT_RING] = "left ring",
- [LEFT_LITTLE] = "left little",
- [RIGHT_THUMB] = "right thumb",
- [RIGHT_INDEX] = "right index",
- [RIGHT_MIDDLE] = "right middle",
- [RIGHT_RING] = "right ring",
- [RIGHT_LITTLE] = "right little",
- };
- if (!FP_FINGER_IS_VALID(finger))
- return "UNKNOWN";
- return names[finger];
-}
-
static struct fp_print_data *print_data_new(uint16_t driver_id,
uint32_t devtype, enum fp_print_data_type type)
{
@@ -321,105 +275,6 @@ API_EXPORTED struct fp_print_data *fp_print_data_from_data(unsigned char *buf,
return NULL;
}
-static char *get_path_to_storedir(uint16_t driver_id, uint32_t devtype)
-{
- char idstr[5];
- char devtypestr[9];
-
- g_snprintf(idstr, sizeof(idstr), "%04x", driver_id);
- g_snprintf(devtypestr, sizeof(devtypestr), "%08x", devtype);
-
- return g_build_filename(base_store, idstr, devtypestr, NULL);
-}
-
-static char *__get_path_to_print(uint16_t driver_id, uint32_t devtype,
- enum fp_finger finger)
-{
- char *dirpath;
- char *path;
- char fingername[2];
-
- g_snprintf(fingername, 2, "%x", finger);
-
- dirpath = get_path_to_storedir(driver_id, devtype);
- path = g_build_filename(dirpath, fingername, NULL);
- g_free(dirpath);
- return path;
-}
-
-static char *get_path_to_print(struct fp_dev *dev, enum fp_finger finger)
-{
- return __get_path_to_print(dev->drv->id, dev->devtype, finger);
-}
-
-/**
- * fp_print_data_save:
- * @data: the stored print to save to disk
- * @finger: the finger that this print corresponds to
- *
- * Saves a stored print to disk, assigned to a specific finger. Even though
- * you are limited to storing only the 10 human fingers, this is a
- * per-device-type limit. For example, you can store the users right index
- * finger from a DigitalPersona scanner, and you can also save the right index
- * finger from a UPEK scanner. When you later come to load the print, the right
- * one will be automatically selected.
- *
- * This function will unconditionally overwrite a fingerprint previously
- * saved for the same finger and device type. The print is saved in a hidden
- * directory beneath the current user's home directory.
- *
- * Returns: 0 on success, non-zero on error.
- *
- * Deprecated: Data storage should be handled outside of libfprint.
- * See stored prints description
- * for more information.
- */
-API_EXPORTED int fp_print_data_save(struct fp_print_data *data,
- enum fp_finger finger)
-{
- GError *err = NULL;
- char *path;
- char *dirpath;
- unsigned char *buf;
- size_t len;
- int r;
-
- if (!base_store)
- storage_setup();
-
- fp_dbg("save %s print from driver %04x", finger_num_to_str(finger),
- data->driver_id);
- len = fp_print_data_get_data(data, &buf);
- if (!len)
- return -ENOMEM;
-
- path = __get_path_to_print(data->driver_id, data->devtype, finger);
- dirpath = g_path_get_dirname(path);
- r = g_mkdir_with_parents(dirpath, DIR_PERMS);
- if (r < 0) {
- fp_err("couldn't create storage directory");
- free(buf);
- g_free(path);
- g_free(dirpath);
- return r;
- }
-
- fp_dbg("saving to %s", path);
- g_file_set_contents(path, buf, len, &err);
- free(buf);
- g_free(dirpath);
- g_free(path);
- if (err) {
- r = err->code;
- fp_err("save failed: %s", err->message);
- g_error_free(err);
- /* FIXME interpret error codes */
- return r;
- }
-
- return 0;
-}
-
gboolean fpi_print_data_compatible(uint16_t driver_id1, uint32_t devtype1,
enum fp_print_data_type type1, uint16_t driver_id2, uint32_t devtype2,
enum fp_print_data_type type2)
@@ -442,132 +297,6 @@ gboolean fpi_print_data_compatible(uint16_t driver_id1, uint32_t devtype1,
return TRUE;
}
-static int load_from_file(char *path, struct fp_print_data **data)
-{
- gsize length;
- gchar *contents;
- GError *err = NULL;
- struct fp_print_data *fdata;
-
- fp_dbg("from %s", path);
- g_file_get_contents(path, &contents, &length, &err);
- if (err) {
- int r = err->code;
- fp_err("%s load failed: %s", path, err->message);
- g_error_free(err);
- /* FIXME interpret more error codes */
- if (r == G_FILE_ERROR_NOENT)
- return -ENOENT;
- else
- return r;
- }
-
- fdata = fp_print_data_from_data(contents, length);
- g_free(contents);
- if (!fdata)
- return -EIO;
- *data = fdata;
- return 0;
-}
-
-/**
- * fp_print_data_load:
- * @dev: the device you are loading the print for
- * @finger: the finger of the file you are loading
- * @data: output location to put the corresponding stored print. Must be
- * freed with fp_print_data_free() after use.
-
- * Loads a previously stored print from disk. The print must have been saved
- * earlier using the fp_print_data_save() function.
- *
- * A return code of -ENOENT indicates that the fingerprint requested could not
- * be found. Other error codes (both positive and negative) are possible for
- * obscure error conditions (e.g. corruption).
- *
- * Returns: 0 on success, non-zero on error
- *
- * Deprecated: Data storage should be handled outside of libfprint.
- * See stored prints description
- * for more information.
- */
-API_EXPORTED int fp_print_data_load(struct fp_dev *dev,
- enum fp_finger finger, struct fp_print_data **data)
-{
- gchar *path;
- struct fp_print_data *fdata = NULL;
- int r;
-
- if (!base_store)
- storage_setup();
-
- path = get_path_to_print(dev, finger);
- r = load_from_file(path, &fdata);
- g_free(path);
- if (r)
- return r;
-
- if (!fp_dev_supports_print_data(dev, fdata)) {
- fp_err("print data is not compatible!");
- fp_print_data_free(fdata);
- return -EINVAL;
- }
-
- *data = fdata;
- return 0;
-}
-
-/**
- * fp_print_data_delete:
- * @dev: the device that the print belongs to
- * @finger: the finger of the file you are deleting
-
- * Removes a stored print from disk previously saved with fp_print_data_save().
- *
- * Returns: 0 on success, negative on error
- *
- * Deprecated: Data storage should be handled outside of libfprint.
- * See stored prints description
- * for more information.
- */
-API_EXPORTED int fp_print_data_delete(struct fp_dev *dev,
- enum fp_finger finger)
-{
- int r;
- gchar *path = get_path_to_print(dev, finger);
-
- fp_dbg("remove finger %d at %s", finger, path);
- r = g_unlink(path);
- g_free(path);
- if (r < 0)
- fp_dbg("unlink failed with error %d", r);
-
- /* FIXME: cleanup empty directory */
- return r;
-}
-
-/**
- * fp_print_data_from_dscv_print:
- * @print: the discovered print
- * @data: output location to point to the corresponding stored print. Must
- * be freed with fp_print_data_free() after use.
-
- * Attempts to load a stored print based on a #fp_dscv_print
- * discovered print record.
- *
- * A return code of -ENOENT indicates that the file referred to by the
- * discovered print could not be found. Other error codes (both positive and
- * negative) are possible for obscure error conditions (e.g. corruption).
- *
- * Returns: 0 on success, non-zero on error.
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED int fp_print_data_from_dscv_print(struct fp_dscv_print *print,
- struct fp_print_data **data)
-{
- return load_from_file(print->path, data);
-}
-
/**
* fp_print_data_free:
* @data: the stored print to destroy. If NULL, function simply returns.
@@ -609,292 +338,3 @@ API_EXPORTED uint32_t fp_print_data_get_devtype(struct fp_print_data *data)
{
return data->devtype;
}
-
-/**
- * SECTION:dscv_print
- * @title: Print discovery (deprecated)
- * @short_description: Print discovery functions
- *
- * The [stored print](libfprint-Stored-prints.html) documentation detailed a simple API
- * for storing per-device prints for a single user, namely
- * fp_print_data_save(). It also detailed a load function,
- * fp_print_data_load(), but usage of this function is limited to scenarios
- * where you know which device you would like to use, and you know which
- * finger you are looking to verify.
- *
- * In other cases, it would be more useful to be able to enumerate all
- * previously saved prints, potentially even before device discovery. These
- * functions are designed to offer this functionality to you.
- *
- * Discovered prints are stored in a #fp_dscv_print structure, and you
- * can use functions documented below to access some information about these
- * prints. You can determine if a discovered print appears to be compatible
- * with a device using functions such as fp_dscv_dev_supports_dscv_print() and
- * fp_dev_supports_dscv_print().
- *
- * When you are ready to use the print, you can load it into memory in the form
- * of a stored print by using the fp_print_data_from_dscv_print() function.
- *
- * You may have noticed the use of the word "appears" in the above paragraphs.
- * libfprint performs print discovery simply by examining the file and
- * directory structure of libfprint's private data store. It does not examine
- * the actual prints themselves. Just because a print has been discovered
- * and appears to be compatible with a certain device does not necessarily mean
- * that it is usable; when you come to load or use it, under unusual
- * circumstances it may turn out that the print is corrupt or not for the
- * device that it appeared to be. Also, it is possible that the print may have
- * been deleted by the time you come to load it.
- *
- * Note that this portion of the library is deprecated. All that it offers is
- * already implementable using publicly available functions, and its usage is
- * unnecessarily restrictive in terms of how it stores data.
- */
-
-static GSList *scan_dev_store_dir(char *devpath, uint16_t driver_id,
- uint32_t devtype, GSList *list)
-{
- GError *err = NULL;
- const gchar *ent;
- struct fp_dscv_print *print;
-
- GDir *dir = g_dir_open(devpath, 0, &err);
- if (!dir) {
- fp_err("opendir %s failed: %s", devpath, err->message);
- g_error_free(err);
- return list;
- }
-
- while ((ent = g_dir_read_name(dir))) {
- /* ent is an 1 hex character fp_finger code */
- guint64 val;
- enum fp_finger finger;
- gchar *endptr;
-
- if (*ent == 0 || strlen(ent) != 1)
- continue;
-
- val = g_ascii_strtoull(ent, &endptr, 16);
- if (endptr == ent || !FP_FINGER_IS_VALID(val)) {
- fp_dbg("skipping print file %s", ent);
- continue;
- }
-
- finger = (enum fp_finger) val;
- print = g_malloc(sizeof(*print));
- print->driver_id = driver_id;
- print->devtype = devtype;
- print->path = g_build_filename(devpath, ent, NULL);
- print->finger = finger;
- list = g_slist_prepend(list, print);
- }
-
- g_dir_close(dir);
- return list;
-}
-
-static GSList *scan_driver_store_dir(char *drvpath, uint16_t driver_id,
- GSList *list)
-{
- GError *err = NULL;
- const gchar *ent;
-
- GDir *dir = g_dir_open(drvpath, 0, &err);
- if (!dir) {
- fp_err("opendir %s failed: %s", drvpath, err->message);
- g_error_free(err);
- return list;
- }
-
- while ((ent = g_dir_read_name(dir))) {
- /* ent is an 8 hex character devtype */
- guint64 val;
- uint32_t devtype;
- gchar *endptr;
- gchar *path;
-
- if (*ent == 0 || strlen(ent) != 8)
- continue;
-
- val = g_ascii_strtoull(ent, &endptr, 16);
- if (endptr == ent) {
- fp_dbg("skipping devtype %s", ent);
- continue;
- }
-
- devtype = (uint32_t) val;
- path = g_build_filename(drvpath, ent, NULL);
- list = scan_dev_store_dir(path, driver_id, devtype, list);
- g_free(path);
- }
-
- g_dir_close(dir);
- return list;
-}
-
-/**
- * fp_discover_prints:
- *
- * Scans the users home directory and returns a list of prints that were
- * previously saved using fp_print_data_save().
- *
- * Returns: a %NULL-terminated list of discovered prints, must be freed with
- * fp_dscv_prints_free() after use.
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED struct fp_dscv_print **fp_discover_prints(void)
-{
- GDir *dir;
- const gchar *ent;
- GError *err = NULL;
- GSList *tmplist = NULL;
- GSList *elem;
- GPtrArray *array;
-
- if (!base_store)
- storage_setup();
-
- dir = g_dir_open(base_store, 0, &err);
- if (!dir) {
- fp_err("opendir %s failed: %s", base_store, err->message);
- g_error_free(err);
- return NULL;
- }
-
- while ((ent = g_dir_read_name(dir))) {
- /* ent is a 4 hex digit driver_id */
- gchar *endptr;
- gchar *path;
- guint64 val;
- uint16_t driver_id;
-
- if (*ent == 0 || strlen(ent) != 4)
- continue;
-
- val = g_ascii_strtoull(ent, &endptr, 16);
- if (endptr == ent) {
- fp_dbg("skipping drv id %s", ent);
- continue;
- }
-
- driver_id = (uint16_t) val;
- path = g_build_filename(base_store, ent, NULL);
- tmplist = scan_driver_store_dir(path, driver_id, tmplist);
- g_free(path);
- }
-
- g_dir_close(dir);
-
- if (tmplist == NULL)
- return NULL;
-
- array = g_ptr_array_new();
- for (elem = tmplist; elem != NULL; elem = elem->next)
- g_ptr_array_add(array, elem->data);
- g_ptr_array_add(array, NULL);
-
- g_slist_free(tmplist);
- return (struct fp_dscv_print **) g_ptr_array_free(array, FALSE);
-}
-
-/**
- * fp_dscv_prints_free:
- * @prints: the list of discovered prints. If NULL, function simply
- * returns.
- *
- * Frees a list of discovered prints. This function also frees the discovered
- * prints themselves, so make sure you do not use any discovered prints
- * after calling this function.
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED void fp_dscv_prints_free(struct fp_dscv_print **prints)
-{
- int i;
- struct fp_dscv_print *print;
-
- if (!prints)
- return;
-
- for (i = 0; (print = prints[i]); i++) {
- if (print)
- g_free(print->path);
- g_free(print);
- }
- g_free(prints);
-}
-
-/**
- * fp_dscv_print_get_driver_id:
- * @print: the discovered print
- *
- * Gets the [driver ID](advanced-topics.html#driver_id) for a discovered print. The driver ID
- * indicates which driver the print originally came from. The print is only
- * usable with a device controlled by that driver.
- *
- * Returns: the driver ID of the driver compatible with the print
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED uint16_t fp_dscv_print_get_driver_id(struct fp_dscv_print *print)
-{
- return print->driver_id;
-}
-
-/**
- * fp_dscv_print_get_devtype:
- * @print: the discovered print
- *
- * Gets the [devtype](advanced-topics.html#device-types) for a discovered print. The devtype
- * represents which type of device under the parent driver is compatible
- * with the print.
- *
- * Returns: the devtype of the device range compatible with the print
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED uint32_t fp_dscv_print_get_devtype(struct fp_dscv_print *print)
-{
- return print->devtype;
-}
-
-/**
- * fp_dscv_print_get_finger:
- * @print: discovered print
- *
- * Gets the finger code for a discovered print.
- *
- * Returns: a finger code from #fp_finger
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED enum fp_finger fp_dscv_print_get_finger(struct fp_dscv_print *print)
-{
- return print->finger;
-}
-
-/**
- * fp_dscv_print_delete:
- * @print: the discovered print to remove from disk
- *
- * Removes a discovered print from disk. After successful return of this
- * function, functions such as fp_dscv_print_get_finger() will continue to
- * operate as before, however calling fp_print_data_from_dscv_print() will
- * fail for obvious reasons.
- *
- * Returns: 0 on success, negative on error
- *
- * Deprecated: Do not use.
- */
-API_EXPORTED int fp_dscv_print_delete(struct fp_dscv_print *print)
-{
- int r;
- fp_dbg("remove at %s", print->path);
- r = g_unlink(print->path);
- if (r < 0)
- fp_dbg("unlink failed with error %d", r);
-
- /* FIXME: cleanup empty directory */
- return r;
-}
-
diff --git a/libfprint/fprint.h b/libfprint/fprint.h
index 4b68e4a..c7e81b4 100644
--- a/libfprint/fprint.h
+++ b/libfprint/fprint.h
@@ -46,14 +46,6 @@ extern "C" {
*/
struct fp_dscv_dev;
-/**
- * fp_dscv_print:
- *
- * #fp_dscv_print is an opaque structure type. You must access it using the
- * functions in this section.
- */
-struct fp_dscv_print;
-
/**
* fp_dev:
*
@@ -147,20 +139,6 @@ uint16_t fp_dscv_dev_get_driver_id(struct fp_dscv_dev *dev);
uint32_t fp_dscv_dev_get_devtype(struct fp_dscv_dev *dev);
int fp_dscv_dev_supports_print_data(struct fp_dscv_dev *dev,
struct fp_print_data *print);
-int fp_dscv_dev_supports_dscv_print(struct fp_dscv_dev *dev,
- struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
-struct fp_dscv_dev *fp_dscv_dev_for_print_data(struct fp_dscv_dev **devs,
- struct fp_print_data *print) LIBFPRINT_DEPRECATED;
-struct fp_dscv_dev *fp_dscv_dev_for_dscv_print(struct fp_dscv_dev **devs,
- struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
-
-/* Print discovery */
-struct fp_dscv_print **fp_discover_prints(void) LIBFPRINT_DEPRECATED;
-void fp_dscv_prints_free(struct fp_dscv_print **prints) LIBFPRINT_DEPRECATED;
-uint16_t fp_dscv_print_get_driver_id(struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
-uint32_t fp_dscv_print_get_devtype(struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
-enum fp_finger fp_dscv_print_get_finger(struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
-int fp_dscv_print_delete(struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
/* Device handling */
struct fp_dev *fp_dev_open(struct fp_dscv_dev *ddev);
@@ -169,7 +147,6 @@ struct fp_driver *fp_dev_get_driver(struct fp_dev *dev);
int fp_dev_get_nr_enroll_stages(struct fp_dev *dev);
uint32_t fp_dev_get_devtype(struct fp_dev *dev);
int fp_dev_supports_print_data(struct fp_dev *dev, struct fp_print_data *data);
-int fp_dev_supports_dscv_print(struct fp_dev *dev, struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
/**
* fp_capture_result:
@@ -274,14 +251,6 @@ int fp_identify_finger(struct fp_dev *dev,
struct fp_print_data **print_gallery, size_t *match_offset);
/* Data handling */
-int fp_print_data_load(struct fp_dev *dev, enum fp_finger finger,
- struct fp_print_data **data) LIBFPRINT_DEPRECATED;
-int fp_print_data_from_dscv_print(struct fp_dscv_print *print,
- struct fp_print_data **data) LIBFPRINT_DEPRECATED;
-int fp_print_data_save(struct fp_print_data *data, enum fp_finger finger)
- LIBFPRINT_DEPRECATED;
-int fp_print_data_delete(struct fp_dev *dev, enum fp_finger finger)
- LIBFPRINT_DEPRECATED;
void fp_print_data_free(struct fp_print_data *data);
size_t fp_print_data_get_data(struct fp_print_data *data, unsigned char **ret);
struct fp_print_data *fp_print_data_from_data(unsigned char *buf,
@@ -354,7 +323,6 @@ void fp_set_pollfd_notifiers(fp_pollfd_added_cb added_cb,
/* Library */
int fp_init(void);
void fp_exit(void);
-void fp_set_debug(int level) LIBFPRINT_DEPRECATED;
/* Asynchronous I/O */