10#ifndef __TUYA_HAL_NETWORK_H__
11#define __TUYA_HAL_NETWORK_H__
23#define UNW_SHUT_RDWR 2
25typedef TUYA_IP_ADDR_T UNW_IP_ADDR_T;
26typedef TUYA_TRANS_TYPE_E UNW_TRANS_TYPE_E;
27typedef TUYA_PROTOCOL_TYPE_E UNW_PROTOCOL_TYPE;
28typedef TUYA_FD_SET_T UNW_FD_SET_T;
40#define tuya_hal_net_get_errno() tal_net_get_errno()
52#define tuya_hal_net_fd_set(fd, fds) tal_net_fd_set(fd, fds)
64#define tuya_hal_net_fd_clear(fd, fds) tal_net_fd_clear(fd, fds)
76#define tuya_hal_net_fd_isset(fd, fds) tal_net_fd_isset(fd, fds)
87#define tuya_hal_net_fd_zero(fds) tal_net_fd_zero(fds)
90#define UNW_FD_SET(n,p) TAL_FD_SET(n, p)
92#define UNW_FD_CLR(n, p) TAL_FD_CLR(n, p)
94#define UNW_FD_ISSET(n,p) TAL_FD_ISSET(n,p)
96#define UNW_FD_ZERO(p) TAL_FD_ZERO(p)
111#define tuya_hal_net_select(maxfd, readfds, writefds, errorfds, ms_timeout) \
112 tal_net_select(maxfd, readfds, writefds, errorfds, ms_timeout)
123#define tuya_hal_net_get_nonblock(fd) tal_net_get_nonblock(fd)
135#define tuya_hal_net_set_block(fd, block) tal_net_set_block(fd, block)
146#define tuya_hal_net_close(fd) tal_net_close(fd)
157#define tuya_hal_net_socket_create(type) tal_net_socket_create(type)
170#define tuya_hal_net_connect(fd, addr, port) tal_net_connect(fd, addr, port)
183#define tuya_hal_net_connect_raw(fd, p_socket, len) tal_net_connect_raw(fd, p_socket, len)
196#define tuya_hal_net_bind(fd, addr, port) tal_net_bind(fd, addr, port)
208#define tuya_hal_net_listen(fd, backlog) tal_net_listen(fd, backlog)
221#define tuya_hal_net_send(fd, buf, nbytes) tal_net_send(fd, buf, nbytes)
236#define tuya_hal_net_send_to(fd, buf, nbytes, addr, port) \
237 tal_net_send_to(fd, buf, nbytes, addr, port)
250#define tuya_hal_net_recv(fd, buf, nbytes) tal_net_recv(fd, buf, nbytes)
265#define tuya_hal_net_recvfrom(fd, buf, nbytes, addr, port) \
266 tal_net_recvfrom(fd, buf, nbytes, addr, port)
280#define tuya_hal_net_set_timeout(fd, ms_timeout, type) tal_net_set_timeout(fd, ms_timeout, type)
293#define tuya_hal_net_set_bufsize(fd, buf_size, type) tal_net_set_bufsize(fd, buf_size, type)
304#define tuya_hal_net_set_reuse(fd) tal_net_set_reuse(fd)
315#define tuya_hal_net_disable_nagle(fd) tal_net_disable_nagle(fd)
326#define tuya_hal_net_set_boardcast(fd) tal_net_set_broadcast(fd)
341#define tuya_hal_net_set_keepalive(fd, alive, idle, intr, cnt) tal_net_set_keepalive(fd, alive, idle, intr, cnt)
353#define tuya_hal_net_gethostbyname(domain, addr) tal_net_gethostbyname(domain, addr)
366#define tuya_hal_net_accept(fd, addr, port) tal_net_accept(fd, addr, port)
380#define tuya_hal_net_recv_nd_size(fd, buf, buf_size, nd_size) \
381 tal_net_recv_nd_size(fd, buf, buf_size, nd_size)
392#define tuya_hal_net_str2addr(ip_str) tal_net_str2addr(ip_str)
403#define tuya_hal_net_addr2str(ipaddr) tal_net_addr2str(ipaddr)
427#define tuya_hal_net_get_socket_ip(fd, addr) tal_net_get_socket_ip(fd, addr)
438#define tuya_hal_net_addr(ip) tal_net_str2addr(ip)
Common process - Initialization
int tuya_hal_net_socket_bind(int fd, const char *ip)
Bind to network with specified ip