268 #ifndef NET_SOCK_UDP_H
269 #define NET_SOCK_UDP_H
274 #include <sys/types.h>
278 #if defined (__clang__)
279 # pragma clang diagnostic push
280 # pragma clang diagnostic ignored "-Wtypedef-redefinition"
299 #if defined (__clang__)
300 # pragma clang diagnostic pop
307 #if defined(MODULE_SOCK_AUX_LOCAL) || defined(DOXYGEN)
315 #if defined(MODULE_SOCK_AUX_TIMESTAMP) || defined(DOXYGEN)
323 #if defined(MODULE_SOCK_AUX_RSSI) || defined(DOXYGEN)
338 #if defined(MODULE_SOCK_AUX_LOCAL) || defined(DOXYGEN)
346 #if defined(MODULE_SOCK_AUX_TIMESTAMP) || defined(DOXYGEN)
519 void *data,
size_t max_len,
616 void **data,
void **buf_ctx,
696 const void *data,
size_t len,
743 const void *data,
size_t len,
788 #include "sock_types.h"
ssize_t sock_udp_recv_aux(sock_udp_t *sock, void *data, size_t max_len, uint32_t timeout, sock_udp_ep_t *remote, sock_udp_aux_rx_t *aux)
Receives a UDP message from a remote end point.
int sock_udp_get_local(sock_udp_t *sock, sock_udp_ep_t *ep)
Gets the local end point of a UDP sock object.
int sock_udp_create(sock_udp_t *sock, const sock_udp_ep_t *local, const sock_udp_ep_t *remote, uint16_t flags)
Creates a new UDP sock object.
ssize_t sock_udp_sendv_aux(sock_udp_t *sock, const iolist_t *snips, const sock_udp_ep_t *remote, sock_udp_aux_tx_t *aux)
Sends a UDP message to remote end point with non-continous payload.
static ssize_t sock_udp_recv_buf(sock_udp_t *sock, void **data, void **buf_ctx, uint32_t timeout, sock_udp_ep_t *remote)
Provides stack-internal buffer space containing a UDP message from a remote end point.
static ssize_t sock_udp_send_aux(sock_udp_t *sock, const void *data, size_t len, const sock_udp_ep_t *remote, sock_udp_aux_tx_t *aux)
Sends a UDP message to remote end point.
int sock_udp_get_remote(sock_udp_t *sock, sock_udp_ep_t *ep)
Gets the remote end point of a UDP sock object.
static ssize_t sock_udp_sendv(sock_udp_t *sock, const iolist_t *snips, const sock_udp_ep_t *remote)
Sends a UDP message to remote end point with non-continous payload.
void sock_udp_close(sock_udp_t *sock)
Closes a UDP sock object.
ssize_t sock_udp_recv_buf_aux(sock_udp_t *sock, void **data, void **buf_ctx, uint32_t timeout, sock_udp_ep_t *remote, sock_udp_aux_rx_t *aux)
Provides stack-internal buffer space containing a UDP message from a remote end point.
static ssize_t sock_udp_send(sock_udp_t *sock, const void *data, size_t len, const sock_udp_ep_t *remote)
Sends a UDP message to remote end point.
static ssize_t sock_udp_recv(sock_udp_t *sock, void *data, size_t max_len, uint32_t timeout, sock_udp_ep_t *remote)
Receives a UDP message from a remote end point.
uint8_t sock_aux_flags_t
Type holding the flags used to request specific auxiliary data.
Common sock API definitions.
Common IP-based transport layer end point.
iolist structure definition
Auxiliary data provided when receiving using an UDP sock object.
sock_udp_ep_t local
The local endpoint the datagram was received on.
int16_t rssi
RSSI value of the received frame.
uint64_t timestamp
System time the datagram was received.
sock_aux_flags_t flags
Flags used request information.
Auxiliary data provided when sending using an UDP sock object.
uint64_t timestamp
System time the datagram was send.
sock_udp_ep_t local
The local endpoint from which the datagram will be sent.
sock_aux_flags_t flags
Flags used request information.