Bastien Nocera
9bcacd97df
lib: Require a callback for a number of async calls
...
Otherwise the caller won't be able to call the appropriate _finish()
calls when done.
See https://gitlab.freedesktop.org/libfprint/libfprint/issues/119 for
the long-term plan
2018-10-23 11:24:56 +02:00
Bastien Nocera
d91eae26e5
lib: Add API docs for the async functions
2018-10-23 11:24:56 +02:00
Bastien Nocera
d113ed9d83
docs: Update API docs style
...
No period at the end of parameter docs.
2018-10-23 11:24:56 +02:00
Bastien Nocera
e113754312
docs: Add "struct #fp_dev" to the API docs
2018-10-23 11:24:56 +02:00
Bastien Nocera
b1afa9da5d
lib: No mainloop, no timeouts either
2018-10-23 10:59:15 +02:00
Bastien Nocera
700c5791f8
lib: Async functions cannot be started without a mainloop
...
No mainloop, no async.
2018-10-23 10:59:15 +02:00
Bastien Nocera
97d0a6dfe6
lib: Add fpi_poll_is_setup() sanity check
...
This checks whether polling was correctly setup for integration with a
mainloop.
2018-10-23 10:59:15 +02:00
Bastien Nocera
a54d020c97
lib: Make fp_get_pollfds() fail when fp_init() wasn't called
...
So things can't be called out-of-order.
2018-10-23 10:59:15 +02:00
Bastien Nocera
36b696f433
lib: Fix error messages in async capture functions
...
They mentioned verification instead of capture.
2018-10-23 10:59:15 +02:00
Bastien Nocera
f42cd6eefd
lib: Add fp_driver_supports_imaging()
...
So we don't need to open a device before checking whether it supports
imaging.
2018-10-23 10:59:15 +02:00
Bastien Nocera
46ebb39f65
lib: Throw an error if fp_init() wasn't called
...
You can't call fp_discover_devs() without calling fp_init() and having
it not fail, otherwise there's nothing to discover...
2018-10-23 10:59:15 +02:00
Bastien Nocera
c88a51cce8
build: Refuse to build without any drivers
2018-10-23 10:59:15 +02:00
Bastien Nocera
3a7b03f022
lib: Fix crash when too many minutiae were detected
...
struct xyt_struct uses a fixed-sized array to fit MAX_BOZORTH_MINUTIAE (200)
minutiae. MAX_FILE_MINUTIAE is 1000. So if we detected more than
MAX_BOZORTH_MINUTIAE, we would crash copying the data from the capture
to the structure.
We might want to use dynamically allocated arrays in the future (or
bigger ones) so that we don't lose minutiae.
Closes : #116
2018-10-12 12:27:37 +02:00
Bastien Nocera
94450a1d74
lib: Fix fpi_img_is_sane()
...
The checks weren't:
- checking whether the width or height were negative
- whether img->width * img->height would overflow, or
was bigger than G_MAXINT
- whether img->width * img->height was bigger than the total
length of the buffer
The last one looks like a thinko, it checked for:
(img->length * img->height) < img->length
which is equivalent to:
img->height < 1
which we already check for earlier.
Closes : #85
2018-10-12 00:54:39 +00:00
Bastien Nocera
c35ad20249
mindtct: Fix a memory leak in morph_TF_map()
...
cimage is leaked when mimage fails to allocate.
Spotted by Seth Arnold
Closes : #82
2018-10-12 00:54:39 +00:00
Bastien Nocera
5e8b4a81e9
mindtct: Fix leak in pixelize_map()
...
pmap was not freed in error cases.
Spotted by Seth Arnold
Closes : #83
2018-10-12 00:54:39 +00:00
Bastien Nocera
21a779235d
mindtct: Fix powmax_dirs leak on error
...
A copy/paste error meant we were trying to free a variable we only just
failed to allocate.
Spotted by Seth Arnold
Closes : #81
2018-10-12 00:54:39 +00:00
Bastien Nocera
1006467f33
lib: Add accessor for minutia coordinates
...
Add fp_minutia_get_coords() so that debugging applications can show the
detected minutiae along with the captured image.
This will also help fix the positively ancient fprint_demo.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907470
2018-10-08 16:50:59 +02:00
Bastien Nocera
cffe49de5c
build: Fix "already configured" meson warning
2018-10-08 16:50:59 +02:00
Bastien Nocera
7962d8cdab
build: Fix build with no drivers using imaging_dep
...
Closes : #109
2018-09-28 15:59:45 +02:00
Bastien Nocera
36dba33808
build: Test builds with a single driver with no deps
...
So that we can be sure that the build doesn't break when those drivers
are not built.
2018-09-28 15:55:56 +02:00
Bastien Nocera
c273908471
lib: Tidy fp_internal.h
...
Group global variables, structure definitions, and functions, and
group functions by which C source they're defined in.
This also removes the FP_IMGDRV_SUPPORTS_UNCONDITIONAL_CAPTURE
definition that's already available in the drivers API-accessible
fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
bf8661bf45
lib: Include "fpi-dev.h" in drivers header
2018-09-28 15:12:39 +02:00
Bastien Nocera
499b522183
lib: Remove titles from headers
...
The purpose of the headers is (or will be) explained in more details
inside each one of the matching C files.
2018-09-28 15:12:39 +02:00
Bastien Nocera
13bfe7a65c
lib: Move driver definitions to fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
e90ec04441
lib: Move fp_minutiae to fpi-img.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
a59a5caaf3
lib: Add missing includes
...
Headers for size_t and ssize_t, as used in the header itself.
2018-09-28 15:12:39 +02:00
Bastien Nocera
5b9f81fb46
lib: Move fp_dev helpers to fpi-dev.h from fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
d3aaebb352
lib: Add include guards to fpi-dev.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
a99f920fe0
lib: Add include guards to fpi-poll.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
fb5527c58c
lib: Split off imgdev functions
...
They now live in fpi-dev-img.[ch]
2018-09-28 15:12:39 +02:00
Bastien Nocera
fcd3c1dd89
lib: Split off core.c drivers API
2018-09-28 15:12:39 +02:00
Bastien Nocera
3a9500be67
lib: Move fpi-img utils to fpi-img's header
2018-09-28 15:12:39 +02:00
Bastien Nocera
1d93b86569
lib: Rename assembling.[ch]
...
This is already self-contained.
2018-09-28 15:12:39 +02:00
Bastien Nocera
aca2cd41d8
lib: Rename sync.c to fpi-sync.c
...
All the functions there are public, so no matching header.
2018-09-28 15:12:39 +02:00
Bastien Nocera
1035f733aa
lib: Split off async functions
...
And don't add the new fpi-async.h to the driver imports, it will only
be used by the upekts driver.
2018-09-28 15:12:39 +02:00
Bastien Nocera
2818d94010
lib: Split off fp_img helpers
...
And rename img.c to fpi-img.c, as well as pixman.c to fpi-img-pixman.c
2018-09-28 15:12:39 +02:00
Bastien Nocera
1d1c34eb60
lib: Make fpi_print_data_item_free() static
2018-09-28 15:12:39 +02:00
Bastien Nocera
ca06fae22e
lib: Split off fpi_print_data helpers
...
And rename data.c to fpi-data.c
2018-09-28 15:12:39 +02:00
Bastien Nocera
36f527269b
Revert "lib: Mark fpi_ssm_get_user_data as deprecated"
...
This reverts commit 1fd82b5162
.
This was causing too many warnings at this stage of porting. We'll add
it again when most of the drivers are ported.
2018-09-28 15:12:39 +02:00
Bastien Nocera
7cfe20e07f
lib: Fix gtk-doc warning
...
warning: no link for: "timeval" -> (<code class="literal">timeval</code>)
2018-09-27 16:08:21 +02:00
Bastien Nocera
1fd82b5162
lib: Mark fpi_ssm_get_user_data as deprecated
2018-09-27 16:07:58 +02:00
Bastien Nocera
0ace5f64f8
elan: Fix use-after-free if USB transfer is cancelled
2018-09-27 15:19:00 +02:00
Bastien Nocera
e532524c7e
elan: Name our timeouts
2018-09-27 15:17:15 +02:00
Bastien Nocera
ebd96f892e
lib: Make fpi_timeout_add() never fail
...
It will now assert if the monotonic clock isn't available. If that's the
case, we'll have bigger problems anyway.
2018-09-27 15:14:05 +02:00
Bastien Nocera
4b9b34fa4d
elan: Use USB helpers
2018-09-27 15:09:59 +02:00
Bastien Nocera
bcc1e7ae73
aes2501: Use USB helpers
...
Nice little cleanups.
2018-09-27 14:49:50 +02:00
Bastien Nocera
27accf42f2
uru4000: Port URU4000 driver to USB helpers
...
Doesn't look very useful.
2018-09-27 14:49:50 +02:00
Bastien Nocera
96f2e07cdd
lib: Add USB transfer helpers
...
Those helpers will provide more arguments in their callbacks, and handle
the libusb_transfer lifecycle, making it easier to use for drivers.
2018-09-27 14:49:50 +02:00
Bastien Nocera
192c4f3cfc
aesx660: Use constants for buffer sizes
2018-09-27 14:49:50 +02:00