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);
void zbx_tcp_recv_context_init(zbx_socket_t *s, zbx_tcp_recv_context_t *tcp_recv_context, unsigned char flags);
ssize_t zbx_tcp_recv_context(zbx_socket_t *s, zbx_tcp_recv_context_t *context, unsigned char flags, short *events);
void zbx_socket_set_deadline(zbx_socket_t *s, int timeout);
int zbx_socket_check_deadline(zbx_socket_t *s);
int zbx_ip_cmp(unsigned int prefix_size, const struct addrinfo *current_ai, ZBX_SOCKADDR *name, int ipv6v4_mode);
int zbx_ip_cmp(unsigned int prefix_size, const struct addrinfo *current_ai, const ZBX_SOCKADDR *name,
int zbx_validate_peer_list(const char *peer_list, char **error);
int zbx_tcp_check_allowed_peers_info(const ZBX_SOCKADDR *peer_info, const char *peer_list);
int zbx_tcp_check_allowed_peers(const zbx_socket_t *s, const char *peer_list);
int validate_cidr(const char *ip, const char *cidr, void *value);
int zbx_udp_connect(zbx_socket_t *s, const char *source_ip, const char *ip, unsigned short port, int timeout);
int zbx_udp_send(zbx_socket_t *s, const char *data, size_t data_len, int timeout);
int zbx_udp_recv(zbx_socket_t *s, int timeout);
void zbx_udp_close(zbx_socket_t *s);