From 45d7046f99726a9804210e670ad164c6e1e5e7c4 Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Wed, 12 Jun 2019 21:07:06 +0200 Subject: [PATCH] lib: Remove all deprecated API --- doc/libfprint-docs.xml | 2 - doc/libfprint-sections.txt | 21 -- libfprint/fp_internal.h | 9 - libfprint/fpi-core.c | 105 ------- libfprint/fpi-data.c | 560 ------------------------------------- libfprint/fprint.h | 32 --- 6 files changed, 729 deletions(-) diff --git a/doc/libfprint-docs.xml b/doc/libfprint-docs.xml index 3ef995b..52041ad 100644 --- a/doc/libfprint-docs.xml +++ b/doc/libfprint-docs.xml @@ -31,8 +31,6 @@ - - diff --git a/doc/libfprint-sections.txt b/doc/libfprint-sections.txt index 556ea72..cc9b3ae 100644 --- a/doc/libfprint-sections.txt +++ b/doc/libfprint-sections.txt @@ -4,7 +4,6 @@ events 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.h img 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 */