Initializing the hidapi library more than once is tricky. The hid_init() function can be called multiple times, but the the hid_exit() function will free the resources unconditionally, regardless of how many times the hid_init() function has been called. The consequence is a premature termination of the library. To avoid this problem, the calls are reference counted. Note that this workaround can't protect against calls made outside the libdivecomputer code! The libusb library doesn't suffer from this problem, because each initialization returns a new context pointer. But for consistency, we now also use a single reference counted libusb context.
Overview ======== Libdivecomputer is a cross-platform and open source library for communication with dive computers from various manufacturers. The official web site is: http://www.libdivecomputer.org/ The sourceforge project page is: http://sourceforge.net/projects/libdivecomputer/ Installation ============ On UNIX-like systems (including Linux, Mac OS X, MinGW), use the autotools based build system. Run the following commands from the top directory (containing this file) to configure, build and install the library and utilities: $ ./configure $ make $ make install If you downloaded the libdivecomputer source code directly from the git source code repository, then you need to create the configure script as the first step: $ autoreconf --install To uninstall libdivecomputer again, run: $ make uninstall Support ======= Please send bug reports, feedback or questions to the mailing list: http://libdivecomputer.org/cgi-bin/mailman/listinfo/devel or contact me directly: jef@libdivecomputer.org License ======= Libdivecomputer is free software, released under the terms of the GNU Lesser General Public License (LGPL). You can find a copy of the license in the file COPYING.
Description
Languages
C
98.3%
M4
1.2%
Makefile
0.5%