20#ifndef NET_GNRC_IPV6_NIB_PL_H
21#define NET_GNRC_IPV6_NIB_PL_H
26#if IS_USED(MODULE_EVTIMER)
79 uint32_t valid_ltime, uint32_t pref_ltime);
129#if IS_USED(MODULE_EVTIMER) || defined(DOXYGEN)
static uint32_t gnrc_ipv6_nib_pl_valid_offset(const gnrc_ipv6_nib_pl_t *ple)
Provides the time in milliseconds for which the prefix list entry is valid.
bool gnrc_ipv6_nib_pl_iter(unsigned iface, void **state, gnrc_ipv6_nib_pl_t *ple)
Iterates over all prefix list entries in the NIB.
void gnrc_ipv6_nib_pl_print(gnrc_ipv6_nib_pl_t *ple)
Prints a prefix list entry.
static uint32_t gnrc_ipv6_nib_pl_pref_offset(const gnrc_ipv6_nib_pl_t *ple)
Provides the time in milliseconds for which the prefix list entry is preferred.
int gnrc_ipv6_nib_pl_set(unsigned iface, const ipv6_addr_t *pfx, unsigned pfx_len, uint32_t valid_ltime, uint32_t pref_ltime)
Adds (or updates) prefix to NIB.
void gnrc_ipv6_nib_pl_del(unsigned iface, const ipv6_addr_t *pfx, unsigned pfx_len)
Deletes prefix from NIB.
static uint32_t evtimer_now_msec(void)
Return the current system time in msec.
Definitions for IPv6 addresses.
Common macros and compiler attributes/pragmas configuration.
Prefix list entry view on NIB.
uint16_t iface
interface gnrc_ipv6_nib_pl_t::pfx is assigned to
uint32_t valid_until
timestamp (in ms) until which the prefix is valid
uint8_t pfx_len
length of gnrc_ipv6_nib_pl_t::pfx in bits
uint32_t pref_until
timestamp (in ms) until which the prefix is preferred
Data type to represent an IPv6 address.