Embedded Wireless Framework
ewf_adapter_renesas_common.h
Go to the documentation of this file.
1 /************************************************************************/
19 #ifndef __ewf_adapter_renesas_common__h__included__
20 #define __ewf_adapter_renesas_common__h__included__
21 
22 #include "ewf_adapter.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /************************************************************************/
35 #ifndef EWF_ADAPTER_RENESAS_COMMON_NVM_ENABLED
36 #define EWF_ADAPTER_RENESAS_COMMON_NVM_ENABLED (1)
37 #endif
38 
39 #if !defined(EWF_ADAPTER_RENESAS_COMMON_TLS_ENABLED) && \
40  !defined(EWF_ADAPTER_RENESAS_COMMON_TLS_BASIC_ENABLED)
41 #if 1
42 #define EWF_ADAPTER_RENESAS_COMMON_TLS_BASIC_ENABLED (1)
43 #define EWF_ADAPTER_RENESAS_COMMON_TLS_ENABLED (0)
44 #else
45 #define EWF_ADAPTER_RENESAS_COMMON_TLS_BASIC_ENABLED (0)
46 #define EWF_ADAPTER_RENESAS_COMMON_TLS_ENABLED (1)
47 #endif
48 #endif
49 
50 #ifndef EWF_ADAPTER_RENESAS_COMMON_TCP_ENABLED
51 #define EWF_ADAPTER_RENESAS_COMMON_TCP_ENABLED (1)
52 #endif
53 
54 #ifndef EWF_ADAPTER_RENESAS_COMMON_UDP_ENABLED
55 #define EWF_ADAPTER_RENESAS_COMMON_UDP_ENABLED (1)
56 #endif
57 
58 #if !defined(EWF_ADAPTER_RENESAS_COMMON_MQTT_ENABLED) && \
59  !defined(EWF_ADAPTER_RENESAS_COMMON_MQTT_BASIC_ENABLED)
60 #if 1
61 #define EWF_ADAPTER_RENESAS_COMMON_MQTT_BASIC_ENABLED (1)
62 #define EWF_ADAPTER_RENESAS_COMMON_MQTT_ENABLED (0)
63 #else
64 #define EWF_ADAPTER_RENESAS_COMMON_MQTT_BASIC_ENABLED (0)
65 #define EWF_ADAPTER_RENESAS_COMMON_MQTT_ENABLED (1)
66 #endif
67 #endif
68 
70 #define EWF_ADAPTER_RENESAS_COMMON_INTERNET_SOCKET_POOL_SIZE (6)
71 
73 #define EWF_ADAPTER_RENESAS_COMMON_INTERNET_SOCKET_INVALID (-1)
74 
76 #define EWF_ADAPTER_RENESAS_COMMON_INTERNET_SOCKET_TCP (0)
77 #define EWF_ADAPTER_RENESAS_COMMON_INTERNET_SOCKET_UDP (1)
78 
81 #define EWF_ADAPTER_RENESAS_COMMON_MQTT_SOCKET_POOL_SIZE (1)
82 
84 #define EWF_ADAPTER_RENESAS_COMMON_MQTT_SOCKET_INVALID (-1)
85 
86 #define EWF_ADAPTER_RENESAS_COMMON_SOCKET_MAX_SEND_SIZE (1460)
87 #define EWF_ADAPTER_RENESAS_COMMON_SOCKET_MAX_RECEIVE_SIZE (1500)
88 #define EWF_ADAPTER_RENESAS_COMMON_SOCKET_COMMAND_MODE ("1")
89 #define EWF_ADAPTER_RENESAS_COMMON_SOCKET_ONLINE_DATA_MODE ("0")
90 
96 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_ROOT_CA_CERTIFICATE_ID
97 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_ROOT_CA_CERTIFICATE_ID ("11")
98 #endif
99 
105 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_USER_CA_CERTIFICATE_ID
106 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_USER_CA_CERTIFICATE_ID ("12")
107 #endif
108 
115 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_CA_CERTIFICATE_ID
116 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_CA_CERTIFICATE_ID ("11")
117 #endif
118 
124 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_CLIENT_CERTIFICATE_ID
125 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_CLIENT_CERTIFICATE_ID ("13")
126 #endif
127 
133 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_CLIENT_PRIVATE_KEY_ID
134 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_CLIENT_PRIVATE_KEY_ID ("13")
135 #endif
136 
142 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_SECURITY_PROFILE_ID
143 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_SECURITY_PROFILE_ID ("5")
144 #endif
145 
147 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_ROOT_CA_CERTIFICATE_BUFFER_NAME
148 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_ROOT_CA_CERTIFICATE_BUFFER_NAME (root_ca_cert_pem)
149 #endif
150 
152 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_USER_CA_CERTIFICATE_BUFFER_NAME
153 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_USER_CA_CERTIFICATE_BUFFER_NAME (ca_cert_pem)
154 #endif
155 
157 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_CLIENT_CERTIFICATE_BUFFER_NAME
158 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_CLIENT_CERTIFICATE_BUFFER_NAME (device_cert_pem)
159 #endif
160 
162 #ifndef EWF_CONFIG_ADAPTER_RENESAS_COMMON_CLIENT_PRIVATE_KEY_BUFFER_NAME
163 #define EWF_CONFIG_ADAPTER_RENESAS_COMMON_CLIENT_PRIVATE_KEY_BUFFER_NAME (device_key_pem)
164 #endif
165 
166 /* Type of data, string */
167 #define EWF_ADAPTER_RENESAS_COMMON_FILE_TYPE_CERTIFICATE ("certificate")
168 #define EWF_ADAPTER_RENESAS_COMMON_FILE_TYPE_PRIVATEKEY ("privatekey")
169 
170 #define EWF_ADAPTER_RENESAS_COMMON_CLOSE_LISTENING_SOCKET ("0")
171 #define EWF_ADAPTER_RENESAS_COMMON_OPEN_LISTNEING_IPV4_SOCKET ("1")
172 #define EWF_ADAPTER_RENESAS_COMMON_OPEN_LISTENING_IPV6_SOCKET ("2")
173 
174 /************************************************************************/
178 /************************************************************************/
185 /************************************************************************/
193 {
194  ewf_adapter_renesas_common_socket_service_type_not_initialized,
195  ewf_adapter_renesas_common_socket_service_type_tcp,
196  ewf_adapter_renesas_common_socket_service_type_udp,
197  ewf_adapter_renesas_common_socket_service_type_tcp_listener,
198  ewf_adapter_renesas_common_socket_service_type_udp_listener,
199 
201 
204 {
205  void* socket_ptr;
206  uint32_t id;
207  uint32_t local_port;
209  volatile bool used;
210  volatile bool open;
211  volatile bool open_error;
212  volatile bool conn;
213  volatile bool conn_error;
214  volatile bool recv;
215 
217 
220 {
223 
224 #if EWF_ADAPTER_RENESAS_COMMON_TCP_ENABLED || EWF_ADAPTER_RENESAS_COMMON_UDP_ENABLED
227 #endif
228 
229 #if EWF_ADAPTER_RENESAS_COMMON_MQTT_BASIC_ENABLED
231  volatile bool mqtt_basic_conn;
232  volatile uint8_t mqtt_basic_conn_error;
233  volatile bool mqtt_basic_publish;
234  volatile uint8_t mqtt_basic_publish_error;
235  volatile bool mqtt_basic_subscribe;
236  volatile uint8_t mqtt_basic_subscribe_error;
237 #endif /* EWF_ADAPTER_RENESAS_COMMON_MQTT_BASIC_ENABLED */
238 
239  /* Module status */
240  volatile bool module_start;
241 
244 
247 
249  ewf_adapter_mqtt_message_callback mqtt_message_callback;
250 
252 
253 /************************************************************************/
257 /************************************************************************/
269 extern ewf_adapter_api_control ewf_adapter_renesas_common_api_control;
270 
271 ewf_result ewf_adapter_renesas_common_start(ewf_adapter* adapter_ptr);
272 ewf_result ewf_adapter_renesas_common_stop(ewf_adapter* adapter_ptr);
273 
282 extern ewf_adapter_api_info ewf_adapter_renesas_common_api_info;
283 
284 ewf_result ewf_adapter_renesas_common_info(ewf_adapter* adapter_ptr);
285 ewf_result ewf_adapter_renesas_common_get_ipv4_address(ewf_adapter* adapter_ptr, uint32_t* address_ptr);
286 ewf_result ewf_adapter_renesas_common_get_ipv4_netmask(ewf_adapter* adapter_ptr, uint32_t* netmask_ptr);
287 ewf_result ewf_adapter_renesas_common_get_ipv4_gateway(ewf_adapter* adapter_ptr, uint32_t* gateway_ptr);
288 ewf_result ewf_adapter_renesas_common_get_ipv4_dns(ewf_adapter* adapter_ptr, uint32_t* dns);
289 
298 ewf_result ewf_adapter_renesas_common_urc_callback(ewf_interface* interface_ptr, uint8_t* buffer_ptr, uint32_t buffer_length);
299 ewf_result ewf_adapter_renesas_common_set_user_urc_callback(ewf_adapter* adapter_ptr, ewf_interface_urc_callback callback);
300 
309 #if EWF_ADAPTER_RENESAS_COMMON_TLS_BASIC_ENABLED
310 
311 extern ewf_adapter_api_tls_basic ewf_adapter_renesas_common_api_tls_basic;
312 
313 ewf_result ewf_adapter_renesas_common_tls_basic_start(ewf_adapter* adapter_ptr);
314 ewf_result ewf_adapter_renesas_common_tls_basic_stop(ewf_adapter* adapter_ptr);
315 
316 ewf_result ewf_adapter_renesas_common_tls_basic_urc_callback(ewf_interface* interface_ptr, uint8_t* buffer_ptr, uint32_t buffer_length);
317 
318 ewf_result ewf_adapter_renesas_common_tls_basic_init(ewf_adapter* adapter_ptr);
319 ewf_result ewf_adapter_renesas_common_tls_basic_clean(ewf_adapter* adapter_ptr);
320 
321 #endif /* EWF_ADAPTER_RENESAS_COMMON_TLS_BASIC_ENABLED */
322 
331 #if EWF_ADAPTER_RENESAS_COMMON_TCP_ENABLED || EWF_ADAPTER_RENESAS_COMMON_UDP_ENABLED
332 
333 ewf_result ewf_adapter_renesas_common_internet_start(ewf_adapter* adapter_ptr);
334 ewf_result ewf_adapter_renesas_common_internet_stop(ewf_adapter* adapter_ptr);
335 
336 ewf_result ewf_adapter_renesas_common_internet_urc_callback(ewf_interface* interface_ptr, uint8_t* buffer_ptr, uint32_t buffer_length);
337 
338 #endif /* EWF_ADAPTER_RENESAS_COMMON_TCP_ENABLED || EWF_ADAPTER_RENESAS_COMMON_UDP_ENABLED */
339 
348 #if EWF_ADAPTER_RENESAS_COMMON_TCP_ENABLED
349 
350 extern ewf_adapter_api_tcp ewf_adapter_renesas_common_api_tcp;
351 
352 ewf_result ewf_adapter_renesas_common_tcp_open(ewf_adapter* adapter_ptr, ewf_socket_tcp* socket_ptr);
353 ewf_result ewf_adapter_renesas_common_tcp_close(ewf_socket_tcp* socket_ptr);
354 ewf_result ewf_adapter_renesas_common_tcp_control(ewf_socket_tcp* socket_ptr, const char* control_str, const uint8_t* buffer_ptr, uint32_t* buffer_length_ptr);
355 ewf_result ewf_adapter_renesas_common_tcp_set_tls_configuration(ewf_socket_tcp* socket_ptr, uint32_t tls_configuration_id);
356 ewf_result ewf_adapter_renesas_common_tcp_bind(ewf_socket_tcp* socket_ptr, uint32_t local_port);
357 ewf_result ewf_adapter_renesas_common_tcp_listen(ewf_socket_tcp* socket_ptr);
358 ewf_result ewf_adapter_renesas_common_tcp_accept(ewf_socket_tcp* socket_ptr, ewf_socket_tcp* socket_new_ptr);
359 ewf_result ewf_adapter_renesas_common_tcp_connect(ewf_socket_tcp* socket_ptr, const char* const server, uint32_t remote_port);
360 ewf_result ewf_adapter_renesas_common_tcp_shutdown(ewf_socket_tcp* socket_ptr);
361 ewf_result ewf_adapter_renesas_common_tcp_send(ewf_socket_tcp* socket_ptr, const uint8_t* buffer_ptr, uint32_t buffer_length);
362 ewf_result ewf_adapter_renesas_common_tcp_receive(ewf_socket_tcp* socket_ptr, uint8_t* buffer_ptr, uint32_t* buffer_length, bool wait);
363 
364 #endif /* EWF_ADAPTER_RENESAS_COMMON_TCP_ENABLED */
365 
374 #if EWF_ADAPTER_RENESAS_COMMON_UDP_ENABLED
375 
376 extern ewf_adapter_api_udp ewf_adapter_renesas_common_api_udp;
377 
378 ewf_result ewf_adapter_renesas_common_udp_open(ewf_adapter* adapter_ptr, ewf_socket_udp* socket_ptr);
379 ewf_result ewf_adapter_renesas_common_udp_close(ewf_socket_udp* socket_ptr);
380 ewf_result ewf_adapter_renesas_common_udp_control(ewf_socket_udp* socket_ptr, const char* control_str, const uint8_t* buffer_ptr, uint32_t* buffer_length_ptr);
381 ewf_result ewf_adapter_renesas_common_udp_set_dtls_configuration(ewf_socket_udp* socket_ptr, uint32_t dtls_configuration_id);
382 ewf_result ewf_adapter_renesas_common_udp_bind(ewf_socket_udp* socket_ptr, uint32_t local_port);
383 ewf_result ewf_adapter_renesas_common_udp_shutdown(ewf_socket_udp* socket_ptr);
384 ewf_result ewf_adapter_renesas_common_udp_send_to(ewf_socket_udp* socket_ptr, const char* remote_address_str, uint32_t remote_port, const uint8_t* buffer_ptr, uint32_t buffer_length);
385 ewf_result ewf_adapter_renesas_common_udp_receive_from(ewf_socket_udp* socket_ptr, char* remote_address_str, uint32_t* remote_address_length_ptr, uint32_t* remote_port_ptr, char* buffer_ptr, uint32_t* buffer_length_ptr, bool wait);
386 
387 #endif /* EWF_ADAPTER_RENESAS_COMMON_UDP_ENABLED */
388 
397 #if EWF_ADAPTER_RENESAS_COMMON_MQTT_ENABLED
398 
399 ewf_result ewf_adapter_renesas_common_mqtt_start(ewf_adapter* adapter_ptr);
400 ewf_result ewf_adapter_renesas_common_mqtt_stop(ewf_adapter* adapter_ptr);
401 ewf_result ewf_adapter_renesas_common_mqtt_urc_callback(ewf_interface* interface_ptr, uint8_t* buffer_ptr, uint32_t buffer_length);
402 
403 ewf_result ewf_adapter_renesas_common_mqtt_connect(ewf_adapter* adapter_ptr, ewf_socket_mqtt* socket_ptr, char const* server_str, uint32_t port, char const* clientid, char const* username, char const* password);
404 ewf_result ewf_adapter_renesas_common_mqtt_disconnect(ewf_adapter* adapter_ptr, ewf_socket_mqtt socket);
405 ewf_result ewf_adapter_renesas_common_mqtt_subscribe(ewf_adapter* adapter_ptr, ewf_socket_mqtt socket, char const* topic);
406 ewf_result ewf_adapter_renesas_common_mqtt_unsubscribe(ewf_adapter* adapter_ptr, ewf_socket_mqtt socket, char const* topic);
407 ewf_result ewf_adapter_renesas_common_mqtt_publish(ewf_adapter* adapter_ptr, ewf_socket_mqtt socket, const char* topic, uint32_t length, const char* msg);
408 ewf_result ewf_adapter_renesas_common_mqtt_default_publish_callback(ewf_adapter* adapter_ptr, ewf_socket_mqtt socket, const char* topic, const char* payload);
409 
410 #endif /* EWF_ADAPTER_RENESAS_COMMON_MQTT_ENABLED */
411 
420 #if EWF_ADAPTER_RENESAS_COMMON_MQTT_BASIC_ENABLED
421 
422 extern ewf_adapter_api_mqtt_basic ewf_adapter_renesas_common_api_mqtt_basic;
423 
424 ewf_result ewf_adapter_renesas_common_mqtt_basic_start(ewf_adapter* adapter_ptr);
425 ewf_result ewf_adapter_renesas_common_mqtt_basic_stop(ewf_adapter* adapter_ptr);
426 
427 ewf_result ewf_adapter_renesas_common_mqtt_basic_urc_callback(ewf_interface* interface_ptr, uint8_t* buffer_ptr, uint32_t buffer_length);
428 
429 ewf_result ewf_adapter_renesas_common_mqtt_basic_default_state_callback(ewf_adapter* adapter_ptr, const char* state_cstr, const char* param_cstr);
430 ewf_result ewf_adapter_renesas_common_mqtt_basic_default_message_callback(ewf_adapter* adapter_ptr, const char* topic_cstr, const char* payload_cstr);
431 
432 ewf_result ewf_adapter_renesas_common_mqtt_basic_connect(ewf_adapter* adapter_ptr, char const* server_str, uint32_t port, char const* clientid, char const* username, char const* password);
433 ewf_result ewf_adapter_renesas_common_mqtt_basic_disconnect(ewf_adapter* adapter_ptr);
434 ewf_result ewf_adapter_renesas_common_mqtt_basic_subscribe(ewf_adapter* adapter_ptr, char const* topic);
435 ewf_result ewf_adapter_renesas_common_mqtt_basic_unsubscribe(ewf_adapter* adapter_ptr, char const* topic);
436 ewf_result ewf_adapter_renesas_common_mqtt_basic_publish(ewf_adapter* adapter_ptr, const char* topic, const char* msg_cstr);
437 ewf_result ewf_adapter_renesas_common_mqtt_basic_message_get(ewf_adapter* adapter_ptr, const char* topic, char* message_buffer_ptr);
438 
439 #endif /* EWF_ADAPTER_RENESAS_COMMON_MQTT_BASIC_ENABLED */
440 
454 
460 
465 ewf_result ewf_adapter_renesas_common_nvm_urc_callback(ewf_interface* interface_ptr, uint8_t* buffer_ptr, uint32_t buffer_length);
466 
472 
479 ewf_result ewf_adapter_renesas_common_nvm_delete(ewf_adapter* adapter_ptr, const char* const filename_str, const char* index);
480 
489 ewf_result ewf_adapter_renesas_common_nvm_upload(ewf_adapter* adapter_ptr, const char* filename_str, const uint8_t* data, uint32_t length, const char* index);
490 
493 /************************************************************************/
497 /************************************************************************/
501 #ifdef __cplusplus
502 }
503 #endif
504 
505 #endif /* __ewf_adapter_renesas_common__h__included__ */
The Embedded Wireless Framework adapter API implementation.
ewf_result(* ewf_adapter_mqtt_message_callback)(ewf_socket_mqtt *socket_ptr, const char *topic_str, ewf_adapter_mqtt_message *message_ptr)
A function pointer type for MQTT message callbacks.
Definition: ewf_adapter_api_mqtt.h:50
struct _ewf_adapter_renesas_common ewf_adapter_renesas_common
The Renesas adapter data structure.
enum _ewf_adapter_bg96_internet_socket_service_type ewf_adapter_renesas_common_internet_socket_service_type
The socket service type
_ewf_adapter_bg96_internet_socket_service_type
The socket service type
Definition: ewf_adapter_renesas_common.h:193
struct _ewf_adapter_renesas_common_socket ewf_adapter_renesas_common_internet_socket
Internal structure for internet socket status
ewf_result ewf_adapter_renesas_common_nvm_upload(ewf_adapter *adapter_ptr, const char *filename_str, const uint8_t *data, uint32_t length, const char *index)
Upload a file to the NVM.
Definition: ewf_adapter_renesas_common_nvm.c:81
ewf_result ewf_adapter_renesas_common_nvm_start(ewf_adapter *adapter_ptr)
Start the NVM operation.
Definition: ewf_adapter_renesas_common_nvm.c:24
ewf_result ewf_adapter_renesas_common_nvm_stop(ewf_adapter *adapter_ptr)
Stop the NVM operation.
Definition: ewf_adapter_renesas_common_nvm.c:31
ewf_result ewf_adapter_renesas_common_nvm_list(ewf_adapter *adapter_ptr)
List the files in the NVM.
Definition: ewf_adapter_renesas_common_nvm.c:38
ewf_result ewf_adapter_renesas_common_nvm_urc_callback(ewf_interface *interface_ptr, uint8_t *buffer_ptr, uint32_t buffer_length)
NVM URC callback.
Definition: ewf_adapter_renesas_common_nvm.c:16
ewf_result ewf_adapter_renesas_common_nvm_delete(ewf_adapter *adapter_ptr, const char *const filename_str, const char *index)
Delete a file from the NVM.
Definition: ewf_adapter_renesas_common_nvm.c:67
ewf_result(* ewf_adapter_tcp_receive_callback)(ewf_socket_tcp *socket_ptr, const uint8_t *buffer_ptr, uint32_t buffer_length)
A function pointer type for TCP receive callbacks.
Definition: ewf_adapter_api_tcp.h:37
ewf_result(* ewf_adapter_udp_receive_callback)(ewf_socket_udp *socket_ptr, const char *server, uint32_t port, const char *buffer, uint32_t length)
A function pointer type for TCP receive callbacks.
Definition: ewf_adapter_api_udp.h:36
#define EWF_ADAPTER_RENESAS_COMMON_INTERNET_SOCKET_POOL_SIZE
The total number of supported Internet sockets in the adapter.
Definition: ewf_adapter_renesas_common.h:70
enum _ewf_result ewf_result
Success and error result codes specific to the EWF API.
ewf_result(* ewf_interface_urc_callback)(ewf_interface *interface_ptr, uint8_t *buffer_ptr, uint32_t length)
a function pointer type for URC callbacks
Definition: ewf_interface.h:62
The adapter control API type.
Definition: ewf_adapter_api_control.h:28
Definition: ewf_adapter_api_info.h:26
Definition: ewf_adapter_api_mqtt_basic.h:55
The TCP API structure.
Definition: ewf_adapter_api_tcp.h:76
The TLS basic API structure.
Definition: ewf_adapter_api_tls_basic.h:29
The UDP API type.
Definition: ewf_adapter_api_udp.h:63
Internal structure for internet socket status
Definition: ewf_adapter_renesas_common.h:204
The Renesas adapter data structure.
Definition: ewf_adapter_renesas_common.h:220
ewf_interface_urc_callback user_urc_callback
Definition: ewf_adapter_renesas_common.h:222
volatile bool mqtt_basic_conn
Internal MQTT basic API socket 0 status
Definition: ewf_adapter_renesas_common.h:231
ewf_adapter_tcp_receive_callback tcp_receive_callback
Definition: ewf_adapter_renesas_common.h:243
ewf_adapter_udp_receive_callback udp_receive_callback
Definition: ewf_adapter_renesas_common.h:246
volatile bool module_start
Definition: ewf_adapter_renesas_common.h:240
The EWF network adapter control structure definition.
Definition: ewf_adapter.h:50
The interface structure definition.
Definition: ewf_interface.h:66
The TCP socket structure definition.
Definition: ewf_adapter_api_tcp.h:47
The UDP socket structure definition.
Definition: ewf_adapter_api_udp.h:40
The MQTT socket structure definition.
Definition: ewf_adapter_api_mqtt.h:54