/* * 6LoWPAN constants, data structs, and prototypes * * Copyright (C) 2013 INRIA. * * This file subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. * * @ingroup sixlowpan * @{ * @file sixlowpan.h * @brief 6lowpan header * @author Stephan Zeisberg * @author Martin Lenders * @author Oliver Gesch * @author Eric Engel */ #ifndef _SIXLOWPAN_LOWPAN_H #define _SIXLOWPAN_LOWPAN_H #include "mutex.h" #include "vtimer.h" #include "sixlowpan/lowpan.h" typedef struct { uint8_t num; ipv6_addr_t prefix; uint8_t length; uint8_t comp; uint16_t lifetime; } lowpan_context_t; extern uint16_t local_address; extern mutex_t lowpan_context_mutex; void lowpan_read(uint8_t *data, uint8_t length, ieee_802154_long_t *s_laddr, ieee_802154_long_t *d_laddr); uint8_t lowpan_context_len(void); lowpan_context_t *lowpan_context_update(uint8_t num, const ipv6_addr_t *prefix, uint8_t length, uint8_t comp, uint16_t lifetime); lowpan_context_t *lowpan_context_get(void); lowpan_context_t *lowpan_context_num_lookup(uint8_t num); /** * @} */ #endif /* _SIXLOWPAN_LOWPAN_H */