int config_tcp_max_backlog_size);
void zbx_tcp_unlisten(zbx_socket_t *s);
int zbx_tcp_accept(zbx_socket_t *s, unsigned int tls_accept, int poll_timeout);
void zbx_tcp_unaccept(zbx_socket_t *s);
#define ZBX_TCP_READ_UNTIL_CLOSE 0x01
#define zbx_tcp_recv(s) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, 0, 0))
#define zbx_tcp_recv_large(s) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, 0, ZBX_TCP_LARGE))
#define zbx_tcp_recv_to(s, timeout) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, timeout, ZBX_TCP_LARGE))
#define zbx_tcp_recv_to(s, timeout) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, timeout, 0))
#define zbx_tcp_recv_raw(s) SUCCEED_OR_FAIL(zbx_tcp_recv_raw_ext(s, 0))
ssize_t zbx_tcp_read(zbx_socket_t *s, char *buf, size_t len, short *events);
ssize_t zbx_tcp_write(zbx_socket_t *s, const char *buf, size_t len, short *event);
ssize_t zbx_tcp_recv_ext(zbx_socket_t *s, int timeout, unsigned char flags);
ssize_t zbx_tcp_recv_raw_ext(zbx_socket_t *s, int timeout);
const char *zbx_tcp_recv_line(zbx_socket_t *s);
int zbx_tcp_read_close_notify(zbx_socket_t *s, int timeout, short *events);
void zbx_tcp_recv_context_init(zbx_socket_t *s, zbx_tcp_recv_context_t *tcp_recv_context, unsigned char flags);