X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fbackend.c;h=3e488ca7d9a00a35aa27a12d149198f7cfb1f63e;hb=4417074c68ce998c2d666fc8a034204a1b74fc2f;hp=a5d5749bcd51e24ba04d5571fb8f6113ad98a557;hpb=ad5aa993ae5f5277755ed9c6e99fd647f4fa0d7b;p=libsigrok.git diff --git a/src/backend.c b/src/backend.c index a5d5749b..3e488ca7 100644 --- a/src/backend.c +++ b/src/backend.c @@ -164,6 +164,11 @@ SR_API GSList *sr_buildinfo_libs_get(void) #endif l = g_slist_append(l, m); #endif +#ifdef HAVE_LIBHIDAPI + m = g_slist_append(NULL, g_strdup("hidapi")); + m = g_slist_append(m, g_strdup_printf("%s", CONF_LIBHIDAPI_VERSION)); + l = g_slist_append(l, m); +#endif #ifdef HAVE_LIBFTDI m = g_slist_append(NULL, g_strdup("libftdi")); m = g_slist_append(m, g_strdup_printf("%s", CONF_LIBFTDI_VERSION)); @@ -591,6 +596,20 @@ SR_API int sr_init(struct sr_context **ctx) ret = SR_ERR; goto done; } +#endif +#ifdef HAVE_LIBHIDAPI + /* + * According to , the hid_init() routine just returns + * zero or non-zero, and hid_error() appears to relate to calls + * for a specific device after hid_open(). Which means that there + * is no more detailled information available beyond success/fail + * at this point in time. + */ + if (hid_init() != 0) { + sr_err("HIDAPI hid_init() failed."); + ret = SR_ERR; + goto done; + } #endif sr_resource_set_hooks(context, NULL, NULL, NULL, NULL); @@ -626,6 +645,9 @@ SR_API int sr_exit(struct sr_context *ctx) WSACleanup(); #endif +#ifdef HAVE_LIBHIDAPI + hid_exit(); +#endif #ifdef HAVE_LIBUSB_1_0 libusb_exit(ctx->libusb_ctx); #endif