Initial fingerprint data representation ideas

This commit is contained in:
Daniel Drake 2007-10-08 18:24:29 +01:00
parent 59b73af909
commit b071f3cdb9
4 changed files with 63 additions and 0 deletions

View file

@ -10,5 +10,6 @@ libfprint_la_LIBADD = $(LIBUSB_LIBS) $(GLIB_LIBS)
libfprint_la_SOURCES = \
core.c \
data.c \
$(DRIVER_SRC)

47
libfprint/data.c Normal file
View file

@ -0,0 +1,47 @@
/*
* 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;
}

View file

@ -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

View file

@ -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