/***************************************************************************** * @copyright 2024-2024, . POWER SUPPLY CO., LTD. * @file drv_tcp.h * @brief 驱动文件 * @author Gary * @date 2024/09/03 * @remark 初修订 *****************************************************************************/ #ifndef DRY_TCP_H_ #define DRY_TCP_H_ #include #include #include #include #include "drv_comm.h" #include #include #include #include #include #include #include #include "kit_log.h" #include "kit_data.h" #include "bsp_rtdb.h" // tcp client驱动结构体 typedef struct { int socket_fd; // socket fd uint8_t netId; // NET口对应序号 uint16_t uId; // 设备序号 char ip[MAX_TCP_IP_LEN]; // ip地址 conn_status_e status; // 连接状态 0:离线, 1:在线 uint32_t port; // 端口号 uint16_t timeout; // 超时时间(milisecond) uint16_t count; // 超时次数 uint32_t send_len; // 发送报文的长度 uint32_t recv_len; // 接收报文的长度 uint8_t send_buf[MAX_TCP_LEN]; // 发送报文缓存 uint8_t recv_buf[MAX_TCP_LEN]; // 接收报文缓存 } tcp_client_lib_t; /***************************************************************************** * @brief 打开tcp驱动 * @param[in] p_tcp: tcp驱动结构体指针 * @return 0-成功 1-失败 *****************************************************************************/ int drvTcpOpen(tcp_client_lib_t *p_tcp); /***************************************************************************** * @brief 关闭tcp驱动 * @param[in] p_tcp: tcp驱动结构体指针 * @return 0-成功 1-失败 *****************************************************************************/ int drvTcpClose(tcp_client_lib_t *p_tcp); /***************************************************************************** * @brief tcp驱动发送 * @param[in] p_tcp: tcp驱动结构体指针 * @return 0-成功 1-失败 *****************************************************************************/ int drvTcpSend(tcp_client_lib_t *p_tcp); /***************************************************************************** * @brief tcp驱动接收 * @param[in] p_tcp: tcp驱动结构体指针 * @return 0-成功 1-失败 *****************************************************************************/ int drvTcpRecv(tcp_client_lib_t *p_tcp); #endif