Add @since tags to some (not all yet) public API functions, to document
in which release they were added (and/or in which release there were
API changes).
Document the @since usage in HACKING.
Also, add Doxygen docs for the functions in version.c.
All frontends will have to include <libsigrok/libsigrok.h> from now on.
This header includes proto.h and version.h, both installed from the
distribution into $INCLUDE/libsigrok/ as well.
The only dynamically changed header is now version.h, which has both
libsigrok and libtool compile-time versions in it.
Use SR_API to mark public API symbols, and SR_PRIV for private symbols.
Variables and functions marked 'static' are private already and don't
need SR_PRIV. However, functions which are not static (because they need
to be used in other libsigrok-internal files) but are also not meant to
be part of the public libsigrok API, must use SR_PRIV.
This uses the 'visibility' feature of gcc (requires gcc >= 4.0).
Details: http://gcc.gnu.org/wiki/Visibility
In the lib, we should only #include "sigrok.h" or "sigrok-internal.h",
but not the (possibly installed and thus different/older versions) via
<sigrok.h> or <sigrok-internal.h>.
Frontends should of course use <sigrok.h> and <sigrok-internal.h>.
- Much more elaborate doxygen comments for the function and its
parameters, allowed input values, and so on.
- Make 'probelist' const, the function doesn't modify it.
- Check for invalid inputs such as NULL pointers.
- Use g_try_malloc() and g_free() for the output buffer. Document who
is expected to g_free() the buffer.