X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;ds=inline;f=backend.c;h=4823044efce580dbc9d7a116f1eb46e63a84a389;hb=551c3d8ce36bebe02765c76ee4d04f4e700d61b2;hp=2d0b38e2e44ecbb22bff2a5640e2e38b38f851fe;hpb=5b30cca719b737fed96c00e1b7a5094770d9d815;p=libsigrok.git diff --git a/backend.c b/backend.c index 2d0b38e2..4823044e 100644 --- a/backend.c +++ b/backend.c @@ -19,6 +19,7 @@ */ #include +#include "config.h" /* Needed for HAVE_LIBUSB_1_0 and others. */ #include "libsigrok.h" #include "libsigrok-internal.h" @@ -39,10 +40,14 @@ * input/output * file formats. * - * @section sec_error_handling Error handling + * @section sec_api API reference * - * libsigrok functions usually return @ref SR_OK upon success, or a negative - * error code on failure. + * See the "Modules" page for an introduction to various libsigrok + * related topics and the detailed API documentation of the respective + * functions. + * + * You can also browse the API documentation by file, or review all + * data structures. * * @section sec_mailinglists Mailing lists * @@ -59,6 +64,56 @@ * sigrok.org/wiki/Libsigrok */ +/** + * @file + * + * Initializing and shutting down libsigrok. + */ + +/** + * @defgroup grp_init Initialization + * + * Initializing and shutting down libsigrok. + * + * Before using any of the libsigrok functionality, sr_init() must + * be called to initialize the library, which will return a struct sr_context + * when the initialization was successful. + * + * When libsigrok functionality is no longer needed, sr_exit() should be + * called, which will (among other things) free the struct sr_context. + * + * Example for a minimal program using libsigrok: + * + * @code{.c} + * #include + * #include + * + * int main(int argc, char **argv) + * { + * int ret; + * struct sr_context *sr_ctx; + * + * if ((ret = sr_init(&sr_ctx)) != SR_OK) { + * printf("Error initializing libsigrok (%s): %s.", + * sr_strerror_name(ret), sr_strerror(ret)); + * return 1; + * } + * + * // Use libsigrok functions here... + * + * if ((ret = sr_exit(sr_ctx)) != SR_OK) { + * printf("Error shutting down libsigrok (%s): %s.", + * sr_strerror_name(ret), sr_strerror(ret)); + * return 1; + * } + * + * return 0; + * } + * @endcode + * + * @{ + */ + /** * Initialize libsigrok. * @@ -130,3 +185,5 @@ SR_API int sr_exit(struct sr_context *ctx) return SR_OK; } + +/** @} */