274#include <sys/types.h>
278#if defined (__clang__)
279# pragma clang diagnostic push
280# pragma clang diagnostic ignored "-Wtypedef-redefinition"
297#if defined (__clang__)
298# pragma clang diagnostic pop
305#if defined(MODULE_SOCK_AUX_LOCAL) || defined(DOXYGEN)
313#if defined(MODULE_SOCK_AUX_TIMESTAMP) || defined(DOXYGEN)
321#if defined(MODULE_SOCK_AUX_RSSI) || defined(DOXYGEN)
336#if defined(MODULE_SOCK_AUX_LOCAL) || defined(DOXYGEN)
344#if defined(MODULE_SOCK_AUX_TIMESTAMP) || defined(DOXYGEN)
405 const sock_ip_ep_t *remote, uint8_t proto, uint16_t flags);
621 void **data,
void **buf_ctx,
698 const void *data,
size_t len,
704#include "sock_types.h"
int sock_ip_create(sock_ip_t *sock, const sock_ip_ep_t *local, const sock_ip_ep_t *remote, uint8_t proto, uint16_t flags)
Creates a new raw IPv4/IPv6 sock object.
ssize_t sock_ip_recv_buf_aux(sock_ip_t *sock, void **data, void **buf_ctx, uint32_t timeout, sock_ip_ep_t *remote, sock_ip_aux_rx_t *aux)
Provides stack-internal buffer space containing an IPv4/IPv6 message from remote end point.
int sock_ip_get_remote(sock_ip_t *sock, sock_ip_ep_t *ep)
Gets the remote end point of a raw IPv4/IPv6 sock object.
void sock_ip_close(sock_ip_t *sock)
Closes a raw IPv4/IPv6 sock object.
static ssize_t sock_ip_send(sock_ip_t *sock, const void *data, size_t len, uint8_t proto, const sock_ip_ep_t *remote)
Sends a message over IPv4/IPv6 to remote end point.
static ssize_t sock_ip_recv_buf(sock_ip_t *sock, void **data, void **buf_ctx, uint32_t timeout, sock_ip_ep_t *remote)
Provides stack-internal buffer space containing an IPv4/IPv6 message from remote end point.
ssize_t sock_ip_recv_aux(sock_ip_t *sock, void *data, size_t max_len, uint32_t timeout, sock_ip_ep_t *remote, sock_ip_aux_rx_t *aux)
Receives a message over IPv4/IPv6 from remote end point.
ssize_t sock_ip_send_aux(sock_ip_t *sock, const void *data, size_t len, uint8_t proto, const sock_ip_ep_t *remote, sock_ip_aux_tx_t *aux)
Sends a message over IPv4/IPv6 to remote end point.
int sock_ip_get_local(sock_ip_t *sock, sock_ip_ep_t *ep)
Gets the local end point of a raw IPv4/IPv6 sock object.
static ssize_t sock_ip_recv(sock_ip_t *sock, void *data, size_t max_len, uint32_t timeout, sock_ip_ep_t *remote)
Receives a message over IPv4/IPv6 from remote end point.
uint8_t sock_aux_flags_t
Type holding the flags used to request specific auxiliary data.
Common sock API definitions.
Auxiliary data provided when receiving using an IP sock object.
int16_t rssi
RSSI value of the received frame.
sock_ip_ep_t local
The local address the packet was received on.
sock_aux_flags_t flags
Flags used request information.
uint64_t timestamp
System time the packet was received.
Auxiliary data provided when sending using an IP sock object.
uint64_t timestamp
System time the packet was send.
sock_aux_flags_t flags
Flags used request information.
sock_ip_ep_t local
The local endpoint from which the datagram will be sent.
Abstract IP end point and end point for a raw IP sock object.