summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2020-04-20 20:53:19 -0300
committerRenato Westphal <renato@opensourcerouting.org>2020-04-22 23:49:22 -0300
commit17e38209a593f6b95b56aba11bed11d233da07c2 (patch)
treec80f25fa35e9b76c20e4183ec93ba0940ad445dc
parent86ac1facf38df2006ab73f30eae0301057fbcade (diff)
lib, zebra: add missing extern "C" {} blocks to new header files
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
-rw-r--r--lib/atomlist.h8
-rw-r--r--lib/defaults.h8
-rw-r--r--lib/frrcu.h8
-rw-r--r--lib/iana_afi.h8
-rw-r--r--lib/log_vty.h8
-rw-r--r--lib/printfrr.h8
-rw-r--r--lib/pullwr.h8
-rw-r--r--lib/resolver.h8
-rw-r--r--lib/seqlock.h8
-rw-r--r--lib/version.h.in8
-rw-r--r--lib/yang_wrappers.h8
-rw-r--r--lib/zassert.h8
-rw-r--r--lib/zclient.h8
-rw-r--r--lib/zlog.h8
-rw-r--r--lib/zlog_targets.h8
-rw-r--r--zebra/zebra_mlag.h8
-rw-r--r--zebra/zebra_mlag_vty.h8
-rw-r--r--zebra/zebra_nb.h8
-rw-r--r--zebra/zebra_nhg.h8
-rw-r--r--zebra/zebra_nhg_private.h8
20 files changed, 160 insertions, 0 deletions
diff --git a/lib/atomlist.h b/lib/atomlist.h
index 96476c2cd2..5ca19cbcd4 100644
--- a/lib/atomlist.h
+++ b/lib/atomlist.h
@@ -20,6 +20,10 @@
#include "typesafe.h"
#include "frratomic.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* pointer with lock/deleted/invalid bit in lowest bit
*
* for atomlist/atomsort, "locked" means "this pointer can't be updated, the
@@ -361,4 +365,8 @@ void atomsort_del_hint(struct atomsort_head *h,
struct atomsort_item *atomsort_pop(struct atomsort_head *h);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _FRR_ATOMLIST_H */
diff --git a/lib/defaults.h b/lib/defaults.h
index 7cdd18120e..20ef28db31 100644
--- a/lib/defaults.h
+++ b/lib/defaults.h
@@ -22,6 +22,10 @@
#include "compiler.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* frr_default wraps information about a default that has different
* values depending on FRR version or default-set
*
@@ -135,4 +139,8 @@ extern bool frr_defaults_profile_valid(const char *profile);
/* like strcmp(), but with version ordering */
extern int frr_version_cmp(const char *aa, const char *bb);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _FRR_DEFAULTS_H */
diff --git a/lib/frrcu.h b/lib/frrcu.h
index 491e89aac2..47751ae7df 100644
--- a/lib/frrcu.h
+++ b/lib/frrcu.h
@@ -20,6 +20,10 @@
#include "memory.h"
#include "atomlist.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* quick RCU primer:
* There's a global sequence counter. Whenever a thread does a
* rcu_read_lock(), it is marked as holding the current sequence counter.
@@ -170,4 +174,8 @@ extern void rcu_enqueue(struct rcu_head *head, const struct rcu_action *action);
extern void rcu_close(struct rcu_head_close *head, int fd);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _FRRCU_H */
diff --git a/lib/iana_afi.h b/lib/iana_afi.h
index ac03f73193..56e8a24b86 100644
--- a/lib/iana_afi.h
+++ b/lib/iana_afi.h
@@ -21,6 +21,10 @@
#include <prefix.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* The above AFI and SAFI definitions are for internal use. The protocol
* definitions (IANA values) as for example used in BGP protocol packets
@@ -130,4 +134,8 @@ static inline const char *iana_safi2str(iana_safi_t safi)
return safi2str(safi_iana2int(safi));
}
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/lib/log_vty.h b/lib/log_vty.h
index 0fd60e9b07..16c4475467 100644
--- a/lib/log_vty.h
+++ b/lib/log_vty.h
@@ -23,6 +23,10 @@
#include "lib/hook.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct vty;
extern void log_cmd_init(void);
@@ -33,4 +37,8 @@ extern void log_show_syslog(struct vty *vty);
DECLARE_HOOK(zlog_rotate, (), ())
extern void zlog_rotate(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* __LOG_VTY_H__ */
diff --git a/lib/printfrr.h b/lib/printfrr.h
index 7d9e288655..a775e1517b 100644
--- a/lib/printfrr.h
+++ b/lib/printfrr.h
@@ -24,6 +24,10 @@
#include "compiler.h"
#include "memory.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct fbuf {
char *buf;
char *pos;
@@ -156,4 +160,8 @@ void printfrr_ext_reg(const struct printfrr_ext *);
} \
/* end */
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/lib/pullwr.h b/lib/pullwr.h
index 601eac1b79..a0e89e0c30 100644
--- a/lib/pullwr.h
+++ b/lib/pullwr.h
@@ -26,6 +26,10 @@
#include "thread.h"
#include "stream.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct pullwr;
/* This is a "pull-driven" write event handler. Instead of having some buffer
@@ -107,4 +111,8 @@ static inline void pullwr_write_stream(struct pullwr *pullwr,
extern void pullwr_stats(struct pullwr *pullwr, uint64_t *total_written,
size_t *pending, size_t *kernel_pending);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _WRITEPOLL_H */
diff --git a/lib/resolver.h b/lib/resolver.h
index 59bf0d0f55..5f922dcb57 100644
--- a/lib/resolver.h
+++ b/lib/resolver.h
@@ -13,6 +13,10 @@
#include "thread.h"
#include "sockunion.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct resolver_query {
void (*callback)(struct resolver_query *, const char *errstr, int n,
union sockunion *);
@@ -28,4 +32,8 @@ void resolver_resolve(struct resolver_query *query, int af,
const char *, int,
union sockunion *));
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _FRR_RESOLVER_H */
diff --git a/lib/seqlock.h b/lib/seqlock.h
index b551e3ffc4..bfbf97890e 100644
--- a/lib/seqlock.h
+++ b/lib/seqlock.h
@@ -27,6 +27,10 @@
#include <pthread.h>
#include "frratomic.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* this locking primitive is intended to use in a 1:N setup.
*
@@ -135,4 +139,8 @@ extern void seqlock_release(struct seqlock *sqlo);
* anything other than reading RCU items was done
*/
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _SEQLOCK_H */
diff --git a/lib/version.h.in b/lib/version.h.in
index 52c10f7d68..d535d131c8 100644
--- a/lib/version.h.in
+++ b/lib/version.h.in
@@ -28,6 +28,10 @@
#include "gitversion.h"
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef GIT_SUFFIX
#define GIT_SUFFIX ""
#endif
@@ -54,4 +58,8 @@
pid_t pid_output (const char *);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _ZEBRA_VERSION_H */
diff --git a/lib/yang_wrappers.h b/lib/yang_wrappers.h
index d853b61ae1..f61f252cdf 100644
--- a/lib/yang_wrappers.h
+++ b/lib/yang_wrappers.h
@@ -22,6 +22,10 @@
#include "prefix.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* bool */
extern bool yang_str2bool(const char *value);
extern struct yang_data *yang_data_new_bool(const char *xpath, bool value);
@@ -182,4 +186,8 @@ extern void yang_str2mac(const char *value, struct ethaddr *mac);
extern const char *yang_nexthop_type2str(uint32_t ntype);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _FRR_NORTHBOUND_WRAPPERS_H_ */
diff --git a/lib/zassert.h b/lib/zassert.h
index d45e1be5f8..e50a88f407 100644
--- a/lib/zassert.h
+++ b/lib/zassert.h
@@ -19,6 +19,10 @@
#ifndef _QUAGGA_ASSERT_H
#define _QUAGGA_ASSERT_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern void _zlog_assert_failed(const char *assertion, const char *file,
unsigned int line, const char *function)
__attribute__((noreturn));
@@ -39,4 +43,8 @@ extern void _zlog_assert_failed(const char *assertion, const char *file,
#undef assert
#define assert(EX) zassert(EX)
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _QUAGGA_ASSERT_H */
diff --git a/lib/zclient.h b/lib/zclient.h
index 6e8066381f..4ada064623 100644
--- a/lib/zclient.h
+++ b/lib/zclient.h
@@ -38,6 +38,10 @@
#include "mlag.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Zebra types. Used in Zserv message header. */
typedef uint16_t zebra_size_t;
@@ -826,4 +830,8 @@ extern void zclient_send_mlag_data(struct zclient *client,
*/
extern int zclient_send_hello(struct zclient *client);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _ZEBRA_ZCLIENT_H */
diff --git a/lib/zlog.h b/lib/zlog.h
index fd42ad50e4..904049c0f2 100644
--- a/lib/zlog.h
+++ b/lib/zlog.h
@@ -30,6 +30,10 @@
#include "memory.h"
#include "hook.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern char zlog_prefix[];
extern size_t zlog_prefixsz;
extern int zlog_tmpdirfd;
@@ -183,4 +187,8 @@ extern void zlog_tls_buffer_init(void);
extern void zlog_tls_buffer_flush(void);
extern void zlog_tls_buffer_fini(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _FRR_ZLOG_H */
diff --git a/lib/zlog_targets.h b/lib/zlog_targets.h
index f95d349a57..6faf722ffd 100644
--- a/lib/zlog_targets.h
+++ b/lib/zlog_targets.h
@@ -21,6 +21,10 @@
#include "zlog.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* multiple file log targets can be active */
struct zlt_fd;
@@ -63,4 +67,8 @@ extern int zlog_syslog_get_facility(void);
extern void zlog_syslog_set_prio_min(int prio_min);
extern int zlog_syslog_get_prio_min(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _FRR_ZLOG_TARGETS_H */
diff --git a/zebra/zebra_mlag.h b/zebra/zebra_mlag.h
index d44a400666..66f5c4c67e 100644
--- a/zebra/zebra_mlag.h
+++ b/zebra/zebra_mlag.h
@@ -30,6 +30,10 @@
#include "mlag/mlag.pb-c.h"
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define ZEBRA_MLAG_BUF_LIMIT 2048
#define ZEBRA_MLAG_LEN_SIZE 4
@@ -73,4 +77,8 @@ int zebra_mlag_protobuf_encode_client_data(struct stream *s,
uint32_t *msg_type);
int zebra_mlag_protobuf_decode_message(struct stream *s, uint8_t *data,
uint32_t len);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/zebra/zebra_mlag_vty.h b/zebra/zebra_mlag_vty.h
index c3dfdf74e0..789154d684 100644
--- a/zebra/zebra_mlag_vty.h
+++ b/zebra/zebra_mlag_vty.h
@@ -22,10 +22,18 @@
#ifndef __ZEBRA_MLAG_VTY_CODE__
#define __ZEBRA_MLAG_VTY_CODE__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern int32_t zebra_mlag_test_mlag_internal(const char *none,
const char *primary,
const char *secondary);
extern void zebra_mlag_vty_init(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/zebra/zebra_nb.h b/zebra/zebra_nb.h
index 01a44e5525..32c72371e3 100644
--- a/zebra/zebra_nb.h
+++ b/zebra/zebra_nb.h
@@ -20,6 +20,10 @@
#ifndef ZEBRA_ZEBRA_NB_H_
#define ZEBRA_ZEBRA_NB_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern const struct frr_yang_module_info frr_zebra_info;
/* prototypes */
@@ -485,4 +489,8 @@ struct yang_data *
lib_vrf_ribs_rib_route_route_entry_nexthop_group_frr_nexthops_nexthop_weight_get_elem(
const char *xpath, const void *list_entry);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/zebra/zebra_nhg.h b/zebra/zebra_nhg.h
index 0a9e97ab48..5792584d0f 100644
--- a/zebra/zebra_nhg.h
+++ b/zebra/zebra_nhg.h
@@ -26,6 +26,10 @@
#include "lib/nexthop.h"
#include "lib/nexthop_group.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* This struct is used exclusively for dataplane
* interaction via a dataplane context.
*
@@ -269,4 +273,8 @@ extern void zebra_nhg_sweep_table(struct hash *hash);
struct route_entry; /* Forward ref to avoid circular includes */
extern int nexthop_active_update(struct route_node *rn, struct route_entry *re);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* __ZEBRA_NHG_H__ */
diff --git a/zebra/zebra_nhg_private.h b/zebra/zebra_nhg_private.h
index 92f438fcec..25048258d5 100644
--- a/zebra/zebra_nhg_private.h
+++ b/zebra/zebra_nhg_private.h
@@ -30,6 +30,10 @@
#include "zebra/zebra_nhg.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Abstraction for connected trees */
struct nhg_connected {
struct nhg_connected_tree_item tree_item;
@@ -70,4 +74,8 @@ extern struct nhg_hash_entry *
nhg_connected_tree_add_nhe(struct nhg_connected_tree_head *head,
struct nhg_hash_entry *nhe);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* __ZEBRA_NHG_PRIVATE_H__ */