From 39c417881b1259c7e01a6ab5fc1df5a4e6296643 Mon Sep 17 00:00:00 2001 From: Simon Bertron Date: Thu, 19 Mar 2026 15:33:15 -0400 Subject: [PATCH] C++ Compatible Headers Signed-off-by: Simon Bertron --- include/splinterdb/data.h | 8 ++++++++ include/splinterdb/default_data_config.h | 8 ++++++++ include/splinterdb/platform_linux/public_platform.h | 8 ++++++++ include/splinterdb/public_util.h | 8 ++++++++ include/splinterdb/splinterdb.h | 8 ++++++++ 5 files changed, 40 insertions(+) diff --git a/include/splinterdb/data.h b/include/splinterdb/data.h index 10785003..920759bd 100644 --- a/include/splinterdb/data.h +++ b/include/splinterdb/data.h @@ -22,6 +22,10 @@ #include "splinterdb/public_platform.h" #include "splinterdb/public_util.h" +#ifdef __cplusplus +extern "C" { +#endif + /* * Message type up to MESSAGE_TYPE_MAX_VALID_USER_TYPE is a * disk-resident value (not including MESSAGE_TYPE_INVALID). @@ -180,3 +184,7 @@ struct data_config { key_to_str_fn key_to_string; message_to_str_fn message_to_string; }; + +#ifdef __cplusplus +} +#endif diff --git a/include/splinterdb/default_data_config.h b/include/splinterdb/default_data_config.h index 4be9e2e6..82f76d51 100644 --- a/include/splinterdb/default_data_config.h +++ b/include/splinterdb/default_data_config.h @@ -11,7 +11,15 @@ #include "data.h" +#ifdef __cplusplus +extern "C" { +#endif + void default_data_config_init(const uint64 max_key_size, // IN data_config *out_cfg // OUT ); + +#ifdef __cplusplus +} +#endif diff --git a/include/splinterdb/platform_linux/public_platform.h b/include/splinterdb/platform_linux/public_platform.h index e0579860..b217edf6 100644 --- a/include/splinterdb/platform_linux/public_platform.h +++ b/include/splinterdb/platform_linux/public_platform.h @@ -30,6 +30,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + // Types typedef unsigned char uchar; typedef int8_t int8; @@ -97,3 +101,7 @@ platform_register_thread(void); // Call this function before exiting a registered thread. void platform_deregister_thread(void); + +#ifdef __cplusplus +} +#endif diff --git a/include/splinterdb/public_util.h b/include/splinterdb/public_util.h index eba65891..dcde0628 100644 --- a/include/splinterdb/public_util.h +++ b/include/splinterdb/public_util.h @@ -5,6 +5,10 @@ #include "splinterdb/public_platform.h" +#ifdef __cplusplus +extern "C" { +#endif + /* * A slice is just a const pointer with a length. Slices do not * manage the memory to which they point, i.e. slices do not allocate, @@ -50,3 +54,7 @@ slice_data(const slice b) { return b.data; } + +#ifdef __cplusplus +} +#endif diff --git a/include/splinterdb/splinterdb.h b/include/splinterdb/splinterdb.h index ce55bfde..43844eff 100644 --- a/include/splinterdb/splinterdb.h +++ b/include/splinterdb/splinterdb.h @@ -18,6 +18,10 @@ #include "data.h" +#ifdef __cplusplus +extern "C" { +#endif + // Get a version string for this build of SplinterDB // Currently a git tag const char * @@ -393,3 +397,7 @@ splinterdb_stats_print_lookup(splinterdb *kvs); void splinterdb_stats_reset(splinterdb *kvs); + +#ifdef __cplusplus +} +#endif