21#ifndef NET_GNRC_IPV6_NIB_ABR_H
22#define NET_GNRC_IPV6_NIB_ABR_H
28#if IS_USED(MODULE_EVTIMER)
49#if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C) || defined(DOXYGEN)
50#if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_6LBR) || defined(DOXYGEN)
70#define gnrc_ipv6_nib_abr_add(addr) (-ENOTSUP)
71#define gnrc_ipv6_nib_abr_del(addr) (void)(addr)
108#if IS_USED(MODULE_EVTIMER) || defined(DOXYGEN)
133#define gnrc_ipv6_nib_abr_add(addr) (-ENOTSUP)
134#define gnrc_ipv6_nib_abr_del(addr) (void)(addr)
135#define gnrc_ipv6_nib_abr_iter(state, abr) (false)
136#define gnrc_ipv6_nib_abr_print(abr) (void)(abr)
bool gnrc_ipv6_nib_abr_iter(void **state, gnrc_ipv6_nib_abr_t *abr)
Iterates over all authoritative border router in the NIB.
int gnrc_ipv6_nib_abr_add(const ipv6_addr_t *addr)
Adds the address of an authoritative border router to the NIB.
static uint32_t gnrc_ipv6_nib_abr_valid_offset(const gnrc_ipv6_nib_abr_t *abr)
Provides the time in minutes for which the authoritative border router entry is valid.
void gnrc_ipv6_nib_abr_del(const ipv6_addr_t *addr)
Removes an authoritative border router from the NIB.
void gnrc_ipv6_nib_abr_print(gnrc_ipv6_nib_abr_t *abr)
Prints an authoritative border router list entry.
static uint32_t evtimer_now_msec(void)
Return the current system time in msec.
#define MS_PER_SEC
The number of milliseconds per second.
#define SEC_PER_MIN
The number of seconds per minute.
Definitions for IPv6 addresses.
Configuration macro definitions for neighbor information base.
Common macros and compiler attributes/pragmas configuration.
Authoritative border router list entry view on NIB.
uint32_t valid_until_ms
timestamp (in ms) until which the information is valid (needs resolution in minutes an 16 bits of the...
uint32_t version
last received version
ipv6_addr_t addr
The address of the border router.
Utility library for comparing and computing timestamps.
Data type to represent an IPv6 address.