4 At the time of development, there are no known consumer fingerprint readers
5 which do not operate over the USB bus. Therefore the library is designed around
6 the fact that each driver drivers USB devices, and each device is a USB device.
7 If we were to ever support a non-USB device, some rearchitecting would be
8 needed, but this would not be a substantial task.
14 Although the library uses GLib internally, libfprint is designed to provide
15 a completely neutral interface to it's application users. So, the public
16 APIs should never return GLib data types or anything like that.
22 Like any decent library, this one is designed to provide a stable and
23 documented API to it's users: applications. Clear distinction is made between
24 data available internally in the library, and data/functions available to
27 This library is confused a little by the fact that there is another 'interface'
28 at hand: the internal interface provided to drivers. So, we effectively end
31 1. The external-facing API for applications
32 2. The internal API for fingerprint drivers
34 Non-static functions which are intended for internal use only are prepended
35 with the "fpi_" prefix.
41 No API stability has been promised to anyone: go wild, there's no issue with
42 breaking APIs at this point in time.
48 libfprint is primarily written for Linux. However, I'm interested in
49 supporting efforts to port this to other operating systems too.
51 You should ensure code is portable wherever possible. Try and use GLib rather
52 than OS-specific features.
54 Endianness must be considered in all code. libfprint must support both big-
55 and little-endian systems.
61 This project follows Linux kernel coding style but with a tab width of 4.
67 All additions of public API functions must be accompanied with doxygen
70 All changes which potentially change the behaviour of the public API must
71 be reflected by updating the appropriate doxygen comments.
77 Patches should be sent to the fprint mailing list detailed on the website.
78 A subscription is required.
80 Information about libfprint development repositories can be found here:
81 http://www.reactivated.net/fprint/Libfprint_development
83 If you're looking for ideas for things to work on, look at the TODO file or
84 grep the source code for FIXMEs.