From: Anurag Kar Date: Mon, 28 Jan 2019 09:48:47 +0000 (+0530) Subject: provisioning framework : 'extern C' directives added for C++ support X-Git-Tag: v3.2-beta3~12^2~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a7ff611b1072d266993571c20abef0d33b691a13;p=esp-idf provisioning framework : 'extern C' directives added for C++ support --- diff --git a/components/protocomm/include/common/protocomm.h b/components/protocomm/include/common/protocomm.h index f5f67da644..4ca65edf5c 100644 --- a/components/protocomm/include/common/protocomm.h +++ b/components/protocomm/include/common/protocomm.h @@ -17,6 +17,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + /** * @brief Function prototype for protocomm endpoint handler */ @@ -224,3 +228,7 @@ esp_err_t protocomm_set_version(protocomm_t *pc, const char *ep_name, * - ESP_ERR_INVALID_ARG : Null instance/name arguments */ esp_err_t protocomm_unset_version(protocomm_t *pc, const char *ep_name); + +#ifdef __cplusplus +} +#endif diff --git a/components/protocomm/include/security/protocomm_security.h b/components/protocomm/include/security/protocomm_security.h index 7eeecc16f7..a97fb9ac85 100644 --- a/components/protocomm/include/security/protocomm_security.h +++ b/components/protocomm/include/security/protocomm_security.h @@ -16,6 +16,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /** * @brief Proof Of Possession for authenticating a secure session */ @@ -91,3 +95,7 @@ typedef struct protocomm_security { const uint8_t *inbuf, ssize_t inlen, uint8_t *outbuf, ssize_t *outlen); } protocomm_security_t; + +#ifdef __cplusplus +} +#endif diff --git a/components/protocomm/include/security/protocomm_security0.h b/components/protocomm/include/security/protocomm_security0.h index 7d0462d8ef..9ae8744d47 100644 --- a/components/protocomm/include/security/protocomm_security0.h +++ b/components/protocomm/include/security/protocomm_security0.h @@ -16,6 +16,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /** * @brief Protocomm security version 0 implementation * @@ -23,3 +27,7 @@ * security is required for the protocomm instance */ extern const protocomm_security_t protocomm_security0; + +#ifdef __cplusplus +} +#endif diff --git a/components/protocomm/include/security/protocomm_security1.h b/components/protocomm/include/security/protocomm_security1.h index 098d61e6a9..4d96f2cdea 100644 --- a/components/protocomm/include/security/protocomm_security1.h +++ b/components/protocomm/include/security/protocomm_security1.h @@ -16,6 +16,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /** * @brief Protocomm security version 1 implementation * @@ -23,3 +27,7 @@ * Curve25519 key exchange and AES-256-CTR encryption */ extern const protocomm_security_t protocomm_security1; + +#ifdef __cplusplus +} +#endif diff --git a/components/protocomm/include/transports/protocomm_ble.h b/components/protocomm/include/transports/protocomm_ble.h index b86059e579..a6f4e64b40 100644 --- a/components/protocomm/include/transports/protocomm_ble.h +++ b/components/protocomm/include/transports/protocomm_ble.h @@ -16,6 +16,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /** * BLE device name cannot be larger than this value */ @@ -30,7 +34,7 @@ typedef struct name_uuid { /** * Name of the handler, which is passed to protocomm layer */ - char *name; + const char *name; /** * UUID to be assigned to the BLE characteristic which is @@ -90,3 +94,7 @@ esp_err_t protocomm_ble_start(protocomm_t *pc, const protocomm_ble_config_t *con * - ESP_ERR_INVALID_ARG : Null / incorrect protocomm instance */ esp_err_t protocomm_ble_stop(protocomm_t *pc); + +#ifdef __cplusplus +} +#endif diff --git a/components/protocomm/include/transports/protocomm_console.h b/components/protocomm/include/transports/protocomm_console.h index b7004d02b3..ffff72f65f 100644 --- a/components/protocomm/include/transports/protocomm_console.h +++ b/components/protocomm/include/transports/protocomm_console.h @@ -16,6 +16,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + #define PROTOCOMM_CONSOLE_DEFAULT_CONFIG() { \ .stack_size = 4096, \ .task_priority = tskIDLE_PRIORITY + 3, \ @@ -57,3 +61,7 @@ esp_err_t protocomm_console_start(protocomm_t *pc, const protocomm_console_confi * - ESP_ERR_INVALID_ARG : Null / incorrect protocomm instance pointer */ esp_err_t protocomm_console_stop(protocomm_t *pc); + +#ifdef __cplusplus +} +#endif diff --git a/components/protocomm/include/transports/protocomm_httpd.h b/components/protocomm/include/transports/protocomm_httpd.h index 92b5c43bcf..cb7e88821f 100644 --- a/components/protocomm/include/transports/protocomm_httpd.h +++ b/components/protocomm/include/transports/protocomm_httpd.h @@ -22,9 +22,13 @@ .task_priority = tskIDLE_PRIORITY + 5, \ } +#ifdef __cplusplus +extern "C" { +#endif - -/** Protocomm HTTP Server Configuration */ +/** + * @brief Config parameters for protocomm HTTP server + */ typedef struct { uint16_t port; /*!< Port on which the http server will listen */ @@ -93,3 +97,7 @@ esp_err_t protocomm_httpd_start(protocomm_t *pc, const protocomm_httpd_config_t * - ESP_ERR_INVALID_ARG : Null / incorrect protocomm instance pointer */ esp_err_t protocomm_httpd_stop(protocomm_t *pc); + +#ifdef __cplusplus +} +#endif diff --git a/components/protocomm/src/transports/protocomm_ble.c b/components/protocomm/src/transports/protocomm_ble.c index a4b1927d0e..037f61d296 100644 --- a/components/protocomm/src/transports/protocomm_ble.c +++ b/components/protocomm/src/transports/protocomm_ble.c @@ -372,7 +372,7 @@ static void protocomm_ble_cleanup(void) if (protoble_internal->g_nu_lookup) { for (unsigned i = 0; i < protoble_internal->g_nu_lookup_count; i++) { if (protoble_internal->g_nu_lookup[i].name) { - free(protoble_internal->g_nu_lookup[i].name); + free((void *)protoble_internal->g_nu_lookup[i].name); } } free(protoble_internal->g_nu_lookup); diff --git a/components/wifi_provisioning/include/wifi_provisioning/wifi_config.h b/components/wifi_provisioning/include/wifi_provisioning/wifi_config.h index 2794ae47df..2a39e0e935 100644 --- a/components/wifi_provisioning/include/wifi_provisioning/wifi_config.h +++ b/components/wifi_provisioning/include/wifi_provisioning/wifi_config.h @@ -17,6 +17,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /** * @brief WiFi STA status for conveying back to the provisioning master */ @@ -117,4 +121,8 @@ typedef struct wifi_prov_config_handlers { esp_err_t wifi_prov_config_data_handler(uint32_t session_id, const uint8_t *inbuf, ssize_t inlen, uint8_t **outbuf, ssize_t *outlen, void *priv_data); +#ifdef __cplusplus +} +#endif + #endif