summaryrefslogtreecommitdiff
path: root/libusbhp
diff options
context:
space:
mode:
Diffstat (limited to 'libusbhp')
-rw-r--r--libusbhp/libusbhp.cc15
-rw-r--r--libusbhp/libusbhp.h8
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: