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
59 uint8_t isDisableNagle;
62 TUYA_IP_ADDR_T bindAddr;
63 uint32_t sendTimeoutMs;
64 uint32_t recvTimeoutMs;
65 uint32_t keepAliveIdleTime;
66 uint32_t keepAliveInterval;
67 uint32_t keepAliveCount;
82typedef struct tuya_transport_array_handle* tuya_transport_array_handle_t;
99tuya_transport_array_handle_t tuya_transport_array_create();
111OPERATE_RET tuya_transport_array_destroy(tuya_transport_array_handle_t transport_handle);
124OPERATE_RET tuya_transport_array_add_transporter(tuya_transport_array_handle_t transport_handle,
tuya_transporter_t transporter,
char* scheme);
136OPERATE_RET tuya_transport_array_remove_transporter(tuya_transport_array_handle_t transport_handle,
tuya_transporter_t transporter);
148tuya_transporter_t tuya_transport_array_get_transporter(tuya_transport_array_handle_t transport_handle,
char* scheme);
157typedef uint8_t TUYA_TRANSPORT_TYPE_E;
159#define TRANSPORT_TYPE_TCP (1)
160#define TRANSPORT_TYPE_TLS (2)
161#define TRANSPORT_TYPE_WEBSOCKET (3)
198OPERATE_RET tuya_transporter_connect(
tuya_transporter_t transporter,
const char* host,
int port,
int timeout_ms);
211OPERATE_RET tuya_transporter_read(
tuya_transporter_t transporter, uint8_t* buf,
int len,
int timeout_ms);
225OPERATE_RET tuya_transporter_write(
tuya_transporter_t transporter, uint8_t* buf,
int len,
int timeout_ms);
238OPERATE_RET tuya_transporter_poll_read(
tuya_transporter_t transporter,
int timeout_ms);
263OPERATE_RET tuya_transporter_ctrl(
tuya_transporter_t transporter, uint32_t cmd,
void* args);
289typedef OPERATE_RET(*transporter_connect_fn)(
tuya_transporter_t transporter,
const char* host,
int port,
int timeout_ms);
303typedef OPERATE_RET(*transporter_read_fn)(
tuya_transporter_t transporter, uint8_t* buf,
int len,
int timeout_ms);
317typedef OPERATE_RET(*transporter_write_fn)(
tuya_transporter_t transporter, uint8_t* buf,
int len,
int timeout_ms);
330typedef OPERATE_RET(*transporter_poll_read_fn)(
tuya_transporter_t transporter,
int timeout_ms);
343typedef OPERATE_RET(*transporter_poll_write_fn)(
tuya_transporter_t transporter,
int timeout_ms);
368typedef OPERATE_RET(*transporter_ctrl)(
tuya_transporter_t transporter, uint32_t cmd,
void* args);
381 transporter_connect_fn connect, transporter_close_fn close,
382 transporter_read_fn read, transporter_write_fn write, transporter_poll_read_fn poll_read,
383 transporter_poll_read_fn poll_write, transporter_destroy_fn destroy, transporter_ctrl ctrl);
388 transporter_connect_fn f_connect;
389 transporter_read_fn f_read;
390 transporter_write_fn f_write;
391 transporter_poll_read_fn f_poll_read;
392 transporter_poll_write_fn f_poll_write;
393 transporter_close_fn f_close;
394 transporter_destroy_fn f_destroy;
395 transporter_ctrl f_ctrl;
定义了tcp transporter配置选项
Definition: tuya_transporter.h:56
Definition: tuya_transporter.h:386