Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
#include "typesafe.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct typed_rb_entry {
struct typed_rb_entry *rbt_parent;
struct typed_rb_entry *rbt_left;
_DECLARE_RBTREE(prefix, type, field, prefix ## __cmp, prefix ## __cmp_uq) \
/* ... */
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _FRR_TYPERB_H */
#include <assert.h>
#include "compiler.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* generic macros for all list-like types */
#define for_each(prefix, head, item) \
const struct sskip_item *b));
extern struct sskip_item *typesafe_skiplist_pop(struct sskip_head *head);
+#ifdef __cplusplus
+}
+#endif
+
/* this needs to stay at the end because both files include each other.
* the resolved order is typesafe.h before typerb.h
*/