#ifndef ZABBIX_ZBXCOMMS_H
#define ZABBIX_ZBXCOMMS_H
#define ZBX_IPV4_MAX_CIDR_PREFIX 32
#define ZBX_IPV6_MAX_CIDR_PREFIX 128
# define zbx_socket_last_error() WSAGetLastError()
# define ZBX_PROTO_ERROR SOCKET_ERROR
# define ZBX_SOCKET_TO_INT(s) ((int)(s))
# define zbx_socket_last_error() errno
# define ZBX_PROTO_ERROR -1
# define ZBX_SOCKET_TO_INT(s) (s)
# if !defined(POLLRDNORM)
# define POLLRDNORM 0x040
# if !defined(POLLWRNORM)
# define POLLWRNORM 0x100
int zbx_socket_poll(zbx_pollfd_t* fds, unsigned long fds_num, int timeout);
# define zbx_socket_poll(x, y, z) poll(x, y, z)
typedef struct pollfd zbx_pollfd_t;
void zbx_tcp_init_hints(struct addrinfo *hints, int socktype, int flags);
int zbx_socket_had_nonblocking_error(void);
typedef SOCKET ZBX_SOCKET;