Commit b071f3cd authored by Daniel Drake's avatar Daniel Drake

Initial fingerprint data representation ideas

parent 59b73af9
......@@ -10,5 +10,6 @@ libfprint_la_LIBADD = $(LIBUSB_LIBS) $(GLIB_LIBS)
libfprint_la_SOURCES = \
core.c \
data.c \
$(DRIVER_SRC)
/*
* Fingerprint data handling and storage
* Copyright (C) 2007 Daniel Drake <dsd@gentoo.org>
*
* 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 <config.h>
#include <string.h>
#include <glib.h>
#include "fp_internal.h"
struct fp_print_data *fpi_print_data_new(struct fp_driver *drv, size_t length)
{
struct fp_print_data *data = g_malloc(sizeof(*data) + length);
data->driver_name = drv->name;
data->length = length;
}
unsigned char *fpi_print_data_get_buffer(struct fp_print_data *data)
{
return data->buffer;
}
API_EXPORTED void fp_print_data_free(struct fp_print_data *data)
{
g_free(data);
}
int fpi_print_data_compatible(struct fp_dev *dev, struct fp_print_data *data)
{
return strcmp(dev->drv->name, data->driver_name) == 0;
}
......@@ -57,5 +57,15 @@ struct fp_dscv_dev {
const struct fp_driver *drv;
};
struct fp_print_data {
const char *driver_name;
size_t length;
unsigned char buffer[0];
};
struct fp_print_data *fpi_print_data_new(struct fp_driver *drv, size_t length);
unsigned char *fpi_print_data_get_buffer(struct fp_print_data *data);
int fpi_print_data_compatible(struct fp_dev *dev, struct fp_print_data *data);
#endif
......@@ -24,6 +24,7 @@
struct fp_dscv_dev;
struct fp_dev;
struct fp_driver;
struct fp_print_data;
/* Device discovery */
struct fp_dscv_dev **fp_discover_devs(void);
......@@ -39,6 +40,10 @@ const struct fp_driver *fp_dev_get_driver(struct fp_dev *dev);
const char *fp_driver_get_name(const struct fp_driver *drv);
const char *fp_driver_get_full_name(const struct fp_driver *drv);
/* Data handling */
void fp_print_data_free(struct fp_print_data *data);
/* Library */
int fp_init(void);
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment