GNRC-specific implementation of the sock API

Provides an implementation of the Sock API by the Generic (GNRC) network stack. More...

Detailed Description


file  gnrc_sock_internal.h
 GNRC-specific types and function definitions.
file  sock_types.h
 GNRC-specific types and function definitions.

Data Structures

struct  gnrc_sock_reg
 sock Network protocol registry info More...
struct  sock_ip
 Raw IP sock type. More...
struct  sock_udp
 UDP sock type. More...


 Minimum port number in the dynamic portrange.
 Maximum port number in the dynamic portrange.
 Available ports in the range for dynamic source port allocation.
 Error value indicating that no free port could be found in the dynamic port range.
 Offset for next dynamic port. More...
#define SOCK_MBOX_SIZE   (8)
 Size for gnrc_sock_reg_t::mbox_queue.


typedef struct gnrc_sock_reg gnrc_sock_reg_t
 sock Network protocol registry info


static bool gnrc_af_not_supported (int af)
 Internal helper functions for GNRC. More...
static bool gnrc_ep_addr_any (const sock_ip_ep_t *ep)
 Check if end point points to any address.
void gnrc_sock_create (gnrc_sock_reg_t *reg, gnrc_nettype_t type, uint32_t demux_ctx)
 Create a sock internally.
ssize_t gnrc_sock_recv (gnrc_sock_reg_t *reg, gnrc_pktsnip_t **pkt, uint32_t timeout, sock_ip_ep_t *remote)
 Receive a packet internally.
ssize_t gnrc_sock_send (gnrc_pktsnip_t *payload, sock_ip_ep_t *local, const sock_ip_ep_t *remote, uint8_t nh)
 Send a packet internally.

Macro Definition Documentation



Currently set to a static (prime) offset, but could be random, too see

Definition at line 66 of file gnrc_sock_internal.h.

Function Documentation

◆ gnrc_af_not_supported()

static bool gnrc_af_not_supported ( int  af)

Checks if address family is not supported

Definition at line 77 of file gnrc_sock_internal.h.