Add support for including headers from C++
TEST=build
BUG=chromium:351168
Change-Id: I86fcf75d1cc7010b8f832f2b558f7407b98d018e
Reviewed-on: https://chromium-review.googlesource.com/189473
Tested-by: Michael Spang <spang@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
diff --git a/include/libevdev/libevdev.h b/include/libevdev/libevdev.h
index e9d615b..ffce027 100644
--- a/include/libevdev/libevdev.h
+++ b/include/libevdev/libevdev.h
@@ -10,6 +10,10 @@
#include <libevdev/libevdev_event.h>
#include <libevdev/libevdev_mt.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef Success
// from X.h
#define Success 0
@@ -83,4 +87,8 @@
int EvdevReadInfoFromFile(FILE* file, EvdevInfoPtr info);
int EvdevReadEventFromFile(FILE* file, struct input_event* event);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif
diff --git a/include/libevdev/libevdev_event.h b/include/libevdev/libevdev_event.h
index 7d7c4ee..496f030 100755
--- a/include/libevdev/libevdev_event.h
+++ b/include/libevdev/libevdev_event.h
@@ -11,6 +11,9 @@
#include <libevdev/libevdev_log.h>
#include <libevdev/libevdev_mt.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
/* 1 MiB debug buffer of struct input_event objects */
#define DEBUG_BUF_SIZE 65536
@@ -64,4 +67,8 @@
const char* Event_Type_To_String(int type);
const char* Evdev_Get_Version();
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif
diff --git a/include/libevdev/libevdev_log.h b/include/libevdev/libevdev_log.h
index 6938c59..3e7870e 100644
--- a/include/libevdev/libevdev_log.h
+++ b/include/libevdev/libevdev_log.h
@@ -12,6 +12,10 @@
#include <stdlib.h>
#include <string.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct Evdev_;
typedef struct Evdev_ *EvdevPtr;
@@ -32,5 +36,8 @@
(evdev)->log((evdev)->log_udata, LOGLEVEL_WARNING, \
"%s():%d: " format, __FUNCTION__, __LINE__, ##__VA_ARGS__)
+#ifdef __cplusplus
+} // extern "C"
+#endif
#endif
diff --git a/include/libevdev/libevdev_mt.h b/include/libevdev/libevdev_mt.h
index df3e1c8..3ebed3e 100644
--- a/include/libevdev/libevdev_mt.h
+++ b/include/libevdev/libevdev_mt.h
@@ -11,6 +11,10 @@
#include <stdint.h>
#include <libevdev/libevdev_log.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* From include/linux/input.h
* (as per linux-2.6.git:771d6d85667d68a17c24c452979f8d37cc628082)
@@ -55,4 +59,8 @@
void MT_Slot_Sync(EvdevPtr, MTSlotInfoPtr);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif
diff --git a/include/libevdev/libevdev_util.h b/include/libevdev/libevdev_util.h
index 37d5593..aeff7dc 100644
--- a/include/libevdev/libevdev_util.h
+++ b/include/libevdev/libevdev_util.h
@@ -6,6 +6,10 @@
#ifndef _LIBEVDEV_UTIL_H_
#define _LIBEVDEV_UTIL_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
// Helper for bit operations
#define LONG_BITS (sizeof(long) * 8)
#define NLONGS(x) (((x) + LONG_BITS - 1) / LONG_BITS)
@@ -25,5 +29,8 @@
array[bit / LONG_BITS] &= ~mask;
}
+#ifdef __cplusplus
+} // extern "C"
+#endif
#endif