gnrc/sixlowpan/nd.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Martine Lenders <mlenders@inf.fu-berlin.de>
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
23 #ifndef NET_GNRC_SIXLOWPAN_ND_H
24 #define NET_GNRC_SIXLOWPAN_ND_H
25 
26 #include <stdint.h>
27 
28 #include "kernel_types.h"
29 #include "net/ipv6/addr.h"
30 #include "net/ndp.h"
31 #include "net/sixlowpan/nd.h"
32 #include "timex.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 #ifndef GNRC_SIXLOWPAN_ND_AR_LTIME
39 
49 #define GNRC_SIXLOWPAN_ND_AR_LTIME (15U)
50 #endif
51 
63 gnrc_pktsnip_t *gnrc_sixlowpan_nd_opt_ar_build(uint8_t status, uint16_t ltime, eui64_t *eui64,
64  gnrc_pktsnip_t *next);
65 
78 gnrc_pktsnip_t *gnrc_sixlowpan_nd_opt_6ctx_build(uint8_t prefix_len, uint8_t flags, uint16_t ltime,
79  ipv6_addr_t *prefix, gnrc_pktsnip_t *next);
80 
92 gnrc_pktsnip_t *gnrc_sixlowpan_nd_opt_abr_build(uint32_t version, uint16_t ltime,
93  ipv6_addr_t *braddr, gnrc_pktsnip_t *next);
94 
95 #ifdef __cplusplus
96 }
97 #endif
98 
99 #endif /* NET_GNRC_SIXLOWPAN_ND_H */
100 
Types used by the kernel.
gnrc_pktsnip_t * gnrc_sixlowpan_nd_opt_6ctx_build(uint8_t prefix_len, uint8_t flags, uint16_t ltime, ipv6_addr_t *prefix, gnrc_pktsnip_t *next)
Builds the 6LoWPAN context option.
Definitions for IPv6 addresses.
Utility library for comparing and computing timestamps.
gnrc_pktsnip_t * gnrc_sixlowpan_nd_opt_abr_build(uint32_t version, uint16_t ltime, ipv6_addr_t *braddr, gnrc_pktsnip_t *next)
Builds the authoritative border router option.
Message type and helper function definitions for 6LoWPAN-ND.
Type to represent parts (either headers or payload) of a packet, called snips.
Data type to represent an IPv6 address.
Definition: ipv6/addr.h:74
Data type to represent an EUI-64.
Definition: eui64.h:37
IPv6 neighbor discovery message type definitions.
gnrc_pktsnip_t * gnrc_sixlowpan_nd_opt_ar_build(uint8_t status, uint16_t ltime, eui64_t *eui64, gnrc_pktsnip_t *next)
Builds the address registration option.