diff --git a/libraries/SocketWrapper/SocketWrapper.h b/libraries/SocketWrapper/SocketWrapper.h index ad5c36db..79a047de 100644 --- a/libraries/SocketWrapper/SocketWrapper.h +++ b/libraries/SocketWrapper/SocketWrapper.h @@ -8,6 +8,9 @@ #include +#include +#include + class ZephyrSocketWrapper { protected: int sock_fd; diff --git a/libraries/SocketWrapper/ZephyrClient.h b/libraries/SocketWrapper/ZephyrClient.h index 8d947963..a7b2e565 100644 --- a/libraries/SocketWrapper/ZephyrClient.h +++ b/libraries/SocketWrapper/ZephyrClient.h @@ -31,8 +31,8 @@ class ZephyrClient : public arduino::Client, ZephyrSocketWrapper { return ret; } #if defined(CONFIG_NET_SOCKETS_SOCKOPT_TLS) - int connectSSL(const char* host, uint16_t port, char* cert) { - auto ret = ZephyrSocketWrapper::connectSSL((char*)host, port, cert); + int connectSSL(const char* host, uint16_t port, const char* cert) { + auto ret = ZephyrSocketWrapper::connectSSL((char*)host, port, (char*)cert); if (ret) { _connected = true; } diff --git a/libraries/SocketWrapper/ZephyrSSLClient.h b/libraries/SocketWrapper/ZephyrSSLClient.h index 71f47aed..07eb6b74 100644 --- a/libraries/SocketWrapper/ZephyrSSLClient.h +++ b/libraries/SocketWrapper/ZephyrSSLClient.h @@ -8,13 +8,18 @@ #if defined(CONFIG_NET_SOCKETS_SOCKOPT_TLS) class ZephyrSSLClient : public ZephyrClient { +private: + const char* _cert = nullptr; public: int connect(const char* host, uint16_t port) override { - return connectSSL(host, port, nullptr); + return connectSSL(host, port, _cert); } - int connect(const char* host, uint16_t port, char* cert) { + int connect(const char* host, uint16_t port, const char* cert) { return connectSSL(host, port, cert); } + void setCACert(const char* cert) { + _cert = cert; + } }; #endif \ No newline at end of file diff --git a/loader/llext_exports.c b/loader/llext_exports.c index f1370a92..43750ba6 100644 --- a/loader/llext_exports.c +++ b/loader/llext_exports.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #define FORCE_EXPORT_SYM(name) \ @@ -48,6 +49,11 @@ EXPORT_SYMBOL(isupper); EXPORT_SYMBOL(islower); EXPORT_SYMBOL(isxdigit); +EXPORT_SYMBOL(sin); +EXPORT_SYMBOL(cos); +EXPORT_SYMBOL(tan); +EXPORT_SYMBOL(atan); +EXPORT_SYMBOL(pow); EXPORT_SYMBOL(atan2); EXPORT_SYMBOL(atan2f); EXPORT_SYMBOL(atanf); @@ -55,6 +61,9 @@ EXPORT_SYMBOL(asinf); EXPORT_SYMBOL(acosf); EXPORT_SYMBOL(sqrt); EXPORT_SYMBOL(sqrtf); +EXPORT_SYMBOL(ldexp); + +EXPORT_SYMBOL(mktime); EXPORT_SYMBOL(k_sched_lock); EXPORT_SYMBOL(k_sched_unlock); @@ -187,19 +196,15 @@ EXPORT_SYMBOL(k_work_schedule); //FORCE_EXPORT_SYM(k_timer_user_data_set); //FORCE_EXPORT_SYM(k_timer_start); -EXPORT_SYMBOL(sin); -EXPORT_SYMBOL(cos); -EXPORT_SYMBOL(tan); -EXPORT_SYMBOL(atan); -EXPORT_SYMBOL(pow); - EXPORT_SYMBOL(puts); EXPORT_SYMBOL(putchar); EXPORT_SYMBOL(printf); EXPORT_SYMBOL(sprintf); EXPORT_SYMBOL(snprintf); EXPORT_SYMBOL(cbvprintf); -; +EXPORT_SYMBOL(sscanf); +EXPORT_SYMBOL(vsnprintf); + FORCE_EXPORT_SYM(abort); #if defined(CONFIG_RING_BUFFER) EXPORT_SYMBOL(ring_buf_get); @@ -239,4 +244,6 @@ FORCE_EXPORT_SYM(__aeabi_dcmpge); #if defined (CONFIG_CPP) FORCE_EXPORT_SYM(__cxa_pure_virtual); -#endif \ No newline at end of file +#endif + +FORCE_EXPORT_SYM(__assert_no_args);