diff options
Diffstat (limited to 'libusbhp')
| -rw-r--r-- | libusbhp/libusbhp.cc | 15 | ||||
| -rw-r--r-- | libusbhp/libusbhp.h | 8 | 
2 files changed, 20 insertions, 3 deletions
diff --git a/libusbhp/libusbhp.cc b/libusbhp/libusbhp.cc index 9e79220..4058c10 100644 --- a/libusbhp/libusbhp.cc +++ b/libusbhp/libusbhp.cc @@ -28,7 +28,6 @@  #ifdef __linux__  #include <poll.h> -#include <libudev.h>  #include <stdio.h>  #include <stdlib.h>  #include <string.h> @@ -53,7 +52,13 @@  #endif/*_WIN32*/ +#ifdef __cplusplus +extern "C" { +#endif +  #ifdef __linux__ +#include <libudev.h> +  struct dev_list_t {    char *path;    unsigned short vid; @@ -105,13 +110,13 @@ static void dev_list_add(struct libusbhp_t *h, const char *path,  static int dev_list_remove(struct libusbhp_t *h, const char *path)  {    struct dev_list_t *p = h->devlist; -  if(!p) return; +  if(!p) return 1;    if(!strcmp(p->path, path)) {      h->devlist = p->next;      free(p->path);      free(p); -    return; +    return 0;    }    while(p->next) { @@ -438,3 +443,7 @@ void libusbhp_register_hotplug_listeners(struct libusbhp_t *handle,    handle->detach = disconnected_cb;    handle->user_data = user_data;  } + +#ifdef __cplusplus +} +#endif diff --git a/libusbhp/libusbhp.h b/libusbhp/libusbhp.h index ccf7125..7622576 100644 --- a/libusbhp/libusbhp.h +++ b/libusbhp/libusbhp.h @@ -41,6 +41,11 @@  #include <sys/time.h>  #endif +#ifdef __cplusplus +extern "C" { +#endif + +  struct libusbhp_t;  struct libusbhp_device_t { @@ -66,6 +71,9 @@ EXPORT                                          libusbhp_hotplug_cb_fn disconnected_cb,                                          void *user_data); +#ifdef __cplusplus +} +#endif  /***  // Libusbx implementation:  | 
