44#include "tuya_cloud_types.h"
47#define TUYA_TRANSPORTER_SET_TLS_CERT 0x0001
48#define TUYA_TRANSPORTER_GET_TCP_SOCKET 0x0002
49#define TUYA_TRANSPORTER_SET_TCP_CONFIG 0x0003
50#define TUYA_TRANSPORTER_SET_WEBSOCKET_CONFIG 0x0004
51#define TUYA_TRANSPORTER_SET_TLS_CONFIG 0x0005
60 uint8_t isDisableNagle;
63 TUYA_IP_ADDR_T bindAddr;
64 uint32_t sendTimeoutMs;
65 uint32_t recvTimeoutMs;
66 uint32_t keepAliveIdleTime;
67 uint32_t keepAliveInterval;
68 uint32_t keepAliveCount;
83typedef struct tuya_transport_array_handle* tuya_transport_array_handle_t;
100tuya_transport_array_handle_t tuya_transport_array_create();
112OPERATE_RET tuya_transport_array_destroy(tuya_transport_array_handle_t transport_handle);
125OPERATE_RET tuya_transport_array_add_transporter(tuya_transport_array_handle_t transport_handle,
tuya_transporter_t transporter,
char* scheme);
137OPERATE_RET tuya_transport_array_remove_transporter(tuya_transport_array_handle_t transport_handle,
tuya_transporter_t transporter);
149tuya_transporter_t tuya_transport_array_get_transporter(tuya_transport_array_handle_t transport_handle,
char* scheme);
158typedef uint8_t TUYA_TRANSPORT_TYPE_E;
160#define TRANSPORT_TYPE_TCP (1)
161#define TRANSPORT_TYPE_TLS (2)
162#define TRANSPORT_TYPE_WEBSOCKET (3)
199OPERATE_RET tuya_transporter_connect(
tuya_transporter_t transporter,
const char* host,
int port,
int timeout_ms);
212OPERATE_RET tuya_transporter_read(
tuya_transporter_t transporter, uint8_t* buf,
int len,
int timeout_ms);
226OPERATE_RET tuya_transporter_write(
tuya_transporter_t transporter, uint8_t* buf,
int len,
int timeout_ms);
239OPERATE_RET tuya_transporter_poll_read(
tuya_transporter_t transporter,
int timeout_ms);
264OPERATE_RET tuya_transporter_ctrl(
tuya_transporter_t transporter, uint32_t cmd,
void* args);
290typedef OPERATE_RET(*transporter_connect_fn)(
tuya_transporter_t transporter,
const char* host,
int port,
int timeout_ms);
304typedef OPERATE_RET(*transporter_read_fn)(
tuya_transporter_t transporter, uint8_t* buf,
int len,
int timeout_ms);
318typedef OPERATE_RET(*transporter_write_fn)(
tuya_transporter_t transporter, uint8_t* buf,
int len,
int timeout_ms);
331typedef OPERATE_RET(*transporter_poll_read_fn)(
tuya_transporter_t transporter,
int timeout_ms);
344typedef OPERATE_RET(*transporter_poll_write_fn)(
tuya_transporter_t transporter,
int timeout_ms);
369typedef OPERATE_RET(*transporter_ctrl)(
tuya_transporter_t transporter, uint32_t cmd,
void* args);
382 transporter_connect_fn connect, transporter_close_fn close,
383 transporter_read_fn read, transporter_write_fn write, transporter_poll_read_fn poll_read,
384 transporter_poll_read_fn poll_write, transporter_destroy_fn destroy, transporter_ctrl ctrl);
389 transporter_connect_fn f_connect;
390 transporter_read_fn f_read;
391 transporter_write_fn f_write;
392 transporter_poll_read_fn f_poll_read;
393 transporter_poll_write_fn f_poll_write;
394 transporter_close_fn f_close;
395 transporter_destroy_fn f_destroy;
396 transporter_ctrl f_ctrl;
定义了tcp transporter配置选项
Definition: tuya_transporter.h:57
Definition: tuya_transporter.h:387