56#if defined(__cplusplus)
61 struct sockaddr_storage *dst, socklen_t *
len,
int *
mode);
72 struct timeval *timeout,
73 struct sockaddr *src_addr, socklen_t *addrlen);
76int udp_sendto(
socket_udp *s,
char *buffer,
int buflen,
struct sockaddr *dst_addr, socklen_t addrlen);
112 struct sockaddr *src_addr, socklen_t *addrlen);
120int udp_send_wsa_async(
socket_udp *s,
char *buffer,
int buflen, LPWSAOVERLAPPED_COMPLETION_ROUTINE, LPWSAOVERLAPPED);
121int udp_sendto_wsa_async(
socket_udp *s,
char *buffer,
int buflen, LPWSAOVERLAPPED_COMPLETION_ROUTINE l, LPWSAOVERLAPPED o,
struct sockaddr *addr, socklen_t addrlen);
131#if defined(__cplusplus)
bool udp_addr_valid(const char *addr)
void udp_set_receiver(socket_udp *s, struct sockaddr *sa, socklen_t len)
void udp_exit(socket_udp *s)
int udp_recvfrom(socket_udp *s, char *buffer, int buflen, struct sockaddr *src_addr, socklen_t *addrlen)
int udp_recv(socket_udp *s, char *buffer, int buflen)
int udp_get_udp_rx_port(socket_udp *s)
int udp_fd_isset_r(socket_udp *s, struct udp_fd_r *)
struct socket_udp_local * udp_get_local(socket_udp *s)
int udp_recv_data(socket_udp *s, char **buffer)
int udp_recvfrom_timeout(socket_udp *s, char *buffer, int buflen, struct timeval *timeout, struct sockaddr *src_addr, socklen_t *addrlen)
void udp_async_start(socket_udp *s, int nr_packets)
void udp_async_wait(socket_udp *s)
int udp_recvfrom_data(socket_udp *s, char **buffer, struct sockaddr *src_addr, socklen_t *addrlen)
socket_udp * udp_init(const char *addr, uint16_t rx_port, uint16_t tx_port, int ttl, int force_ip_version, bool multithreaded)
char * udp_host_addr(socket_udp *s)
int udp_peek(socket_udp *s, char *buffer, int buflen)
int udp_sendto(socket_udp *s, char *buffer, int buflen, struct sockaddr *dst_addr, socklen_t addrlen)
int udp_sendv(socket_udp *s, struct iovec *vector, int count, void *d)
socket_udp * udp_init_with_local(struct socket_udp_local *l, struct sockaddr *sa, socklen_t len)
int udp_select_r(struct timeval *timeout, struct udp_fd_r *)
bool udp_set_recv_buf(socket_udp *s, int size)
bool udp_not_empty(socket_udp *s, struct timeval *timeout)
Checks whether there are data ready to read in socket.
int udp_send(socket_udp *s, char *buffer, int buflen)
int udp_recvv(socket_udp *s, struct msghdr *m)
void udp_fd_set(socket_udp *s)
int udp_fd_isset(socket_udp *s)
bool udp_set_send_buf(socket_udp *s, int size)
void udp_fd_zero_r(struct udp_fd_r *)
int udp_port_pair_is_free(int force_ip_version, int even_port)
int udp_get_recv_buf(socket_udp *s)
bool udp_is_ipv6(socket_udp *s)
void udp_flush_recv_buf(socket_udp *s)
void udp_fd_set_r(socket_udp *s, struct udp_fd_r *)
socket_udp * udp_init_if(const char *addr, const char *iface, uint16_t rx_port, uint16_t tx_port, int ttl, int force_ip_version, bool multithreaded)
int resolve_addrinfo(const char *addr, uint16_t tx_port, struct sockaddr_storage *dst, socklen_t *len, int *mode)
int udp_fd(socket_udp *s)
bool udp_is_server_mode_blackhole(socket_udp *s)
int udp_recv_timeout(socket_udp *s, char *buffer, int buflen, struct timeval *timeout)
int udp_select(struct timeval *timeout)