From fbfffdbbf988e33ad96430f0ce9bebde8210c9df Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp@nicira.com>
Date: Thu, 4 Feb 2010 09:37:30 -0800
Subject: [PATCH] Add extern "C" { ... } to some header files to support usage
 from C++.

From partner.
---
 lib/netdev.h  | 8 ++++++++
 lib/shash.h   | 8 ++++++++
 lib/timeval.h | 8 ++++++++
 3 files changed, 24 insertions(+)

diff --git a/lib/netdev.h b/lib/netdev.h
index 8060ddb9..653665af 100644
--- a/lib/netdev.h
+++ b/lib/netdev.h
@@ -21,6 +21,10 @@
 #include <stddef.h>
 #include <stdint.h>
 
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
 /* Generic interface to network devices.
  *
  * Currently, there is a single implementation of this interface that supports
@@ -144,4 +148,8 @@ void netdev_monitor_remove(struct netdev_monitor *, struct netdev *);
 int netdev_monitor_poll(struct netdev_monitor *, char **devnamep);
 void netdev_monitor_poll_wait(const struct netdev_monitor *);
 
+#ifdef  __cplusplus
+}
+#endif
+
 #endif /* netdev.h */
diff --git a/lib/shash.h b/lib/shash.h
index 5794a20f..471918b2 100644
--- a/lib/shash.h
+++ b/lib/shash.h
@@ -19,6 +19,10 @@
 
 #include "hmap.h"
 
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
 struct shash_node {
     struct hmap_node node;
     char *name;
@@ -48,4 +52,8 @@ struct shash_node *shash_find(const struct shash *, const char *);
 void *shash_find_data(const struct shash *, const char *);
 struct shash_node *shash_first(const struct shash *);
 
+#ifdef  __cplusplus
+}
+#endif
+
 #endif /* shash.h */
diff --git a/lib/timeval.h b/lib/timeval.h
index 8567d754..e9401626 100644
--- a/lib/timeval.h
+++ b/lib/timeval.h
@@ -21,6 +21,10 @@
 #include "type-props.h"
 #include "util.h"
 
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
 struct pollfd;
 struct timeval;
 
@@ -49,4 +53,8 @@ void time_timeval(struct timeval *);
 void time_alarm(unsigned int secs);
 int time_poll(struct pollfd *, int n_pollfds, int timeout);
 
+#ifdef  __cplusplus
+}
+#endif
+
 #endif /* timeval.h */
-- 
2.30.2