Loading...
Searching...
No Matches

Internal GNRC-specific types and function definitions. More...

Detailed Description

Internal GNRC-specific types and function definitions.

Author
Martine Lenders mlend.nosp@m.ers@.nosp@m.inf.f.nosp@m.u-be.nosp@m.rlin..nosp@m.de

Definition in file gnrc_sock_internal.h.

#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include "mbox.h"
#include "net/af.h"
#include "net/gnrc.h"
#include "net/gnrc/netreg.h"
#include "net/iana/portrange.h"
#include "net/sock/ip.h"
#include "sock_types.h"
+ Include dependency graph for gnrc_sock_internal.h:

Go to the source code of this file.

Data Structures

struct  gnrc_sock_recv_aux_t
 Structure to retrieve auxiliary data from gnrc_sock_recv. More...
 
#define GNRC_SOCK_DYN_PORTRANGE_MIN   (IANA_DYNAMIC_PORTRANGE_MIN)
 Minimum port number in the dynamic portrange.
 
#define GNRC_SOCK_DYN_PORTRANGE_MAX   (IANA_DYNAMIC_PORTRANGE_MAX)
 Maximum port number in the dynamic portrange.
 
#define GNRC_SOCK_DYN_PORTRANGE_NUM   (GNRC_SOCK_DYN_PORTRANGE_MAX - GNRC_SOCK_DYN_PORTRANGE_MIN + 1)
 Available ports in the range for dynamic source port allocation.
 
#define GNRC_SOCK_DYN_PORTRANGE_ERR   (0)
 Error value indicating that no free port could be found in the dynamic port range.
 
#define CONFIG_GNRC_SOCK_UDP_CHECK_REMOTE_ADDR   (1)
 Check if remote address of a UDP packet matches the address the socket is bound to.
 
#define GNRC_SOCK_RECV_AUX_FLAG_TIMESTAMP   0x01
 Timestamp valid.
 
#define GNRC_SOCK_RECV_AUX_FLAG_RSSI   0x02
 RSSI valid.
 
static bool gnrc_af_not_supported (int af)
 Internal helper functions for GNRC.
 
static bool gnrc_ep_addr_any (const sock_ip_ep_t *ep)
 Check if end point points to any address.
 
static void gnrc_ep_set (sock_ip_ep_t *out, const sock_ip_ep_t *in, size_t in_size)
 Initializes a sock end-point from a given and sets the network interface implicitly if there is only one potential interface.
 
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, gnrc_sock_recv_aux_t *aux)
 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

◆ CONFIG_GNRC_SOCK_UDP_CHECK_REMOTE_ADDR

#define CONFIG_GNRC_SOCK_UDP_CHECK_REMOTE_ADDR   (1)

Check if remote address of a UDP packet matches the address the socket is bound to.

Definition at line 63 of file gnrc_sock_internal.h.

◆ GNRC_SOCK_DYN_PORTRANGE_ERR

#define GNRC_SOCK_DYN_PORTRANGE_ERR   (0)

Error value indicating that no free port could be found in the dynamic port range.

Definition at line 56 of file gnrc_sock_internal.h.

◆ GNRC_SOCK_DYN_PORTRANGE_MAX

#define GNRC_SOCK_DYN_PORTRANGE_MAX   (IANA_DYNAMIC_PORTRANGE_MAX)

Maximum port number in the dynamic portrange.

Definition at line 45 of file gnrc_sock_internal.h.

◆ GNRC_SOCK_DYN_PORTRANGE_MIN

#define GNRC_SOCK_DYN_PORTRANGE_MIN   (IANA_DYNAMIC_PORTRANGE_MIN)

Minimum port number in the dynamic portrange.

Definition at line 41 of file gnrc_sock_internal.h.

◆ GNRC_SOCK_DYN_PORTRANGE_NUM

#define GNRC_SOCK_DYN_PORTRANGE_NUM   (GNRC_SOCK_DYN_PORTRANGE_MAX - GNRC_SOCK_DYN_PORTRANGE_MIN + 1)

Available ports in the range for dynamic source port allocation.

Definition at line 50 of file gnrc_sock_internal.h.

◆ GNRC_SOCK_RECV_AUX_FLAG_RSSI

#define GNRC_SOCK_RECV_AUX_FLAG_RSSI   0x02

RSSI valid.

Definition at line 94 of file gnrc_sock_internal.h.

◆ GNRC_SOCK_RECV_AUX_FLAG_TIMESTAMP

#define GNRC_SOCK_RECV_AUX_FLAG_TIMESTAMP   0x01

Timestamp valid.

Definition at line 93 of file gnrc_sock_internal.h.

Function Documentation

◆ gnrc_af_not_supported()

static bool gnrc_af_not_supported ( int  af)
inlinestatic

Internal helper functions for GNRC.

Checks if address family is not supported

Definition at line 105 of file gnrc_sock_internal.h.

◆ gnrc_ep_addr_any()

static bool gnrc_ep_addr_any ( const sock_ip_ep_t ep)
inlinestatic

Check if end point points to any address.

Definition at line 115 of file gnrc_sock_internal.h.

◆ gnrc_ep_set()

static void gnrc_ep_set ( sock_ip_ep_t out,
const sock_ip_ep_t in,
size_t  in_size 
)
inlinestatic

Initializes a sock end-point from a given and sets the network interface implicitly if there is only one potential interface.

Definition at line 132 of file gnrc_sock_internal.h.