From partner.
 
 #include <stdbool.h>
 #include <stddef.h>
+ 
+#ifdef  __cplusplus
+extern "C" {
+#endif
 
 struct svec {
     char **names;
           ? (NAME) = (SVEC)->names[INDEX], 1    \
           : 0);                                 \
          (INDEX)++)
+ 
+#ifdef  __cplusplus
+}
+#endif
 
 #endif /* svec.h */
 
 
 #ifndef UNIXCTL_H
 #define UNIXCTL_H 1
+ 
+#ifdef  __cplusplus
+extern "C" {
+#endif
 
 /* Server for Unix domain socket control connection. */
 struct unixctl_server;
                                          const char *args));
 void unixctl_command_reply(struct unixctl_conn *, int code,
                            const char *body);
+ 
+#ifdef  __cplusplus
+}
+#endif
 
 #endif /* unixctl.h */
 
 #include <stdbool.h>
 #include <time.h>
 #include "util.h"
+ 
+#ifdef  __cplusplus
+extern "C" {
+#endif
 
 /* Logging importance levels. */
 #define VLOG_LEVELS                             \
         }                                                           \
     } while (0)
 extern enum vlog_level min_vlog_levels[VLM_N_MODULES];
+ 
+#ifdef  __cplusplus
+}
+#endif
 
 
 #endif /* vlog.h */