OpenWSN Firmware
icmpv6.h
Go to the documentation of this file.
1 #ifndef __ICMPv6_H
2 #define __ICMPv6_H
3 
11 //=========================== define ==========================================
12 
13 //=========================== typedef =========================================
14 
15 typedef struct {
16  uint8_t type;
17  uint8_t code;
18  uint16_t checksum;
19  // Below Identifier might need to be replaced by the identifier used by icmpv6rpl
20  // uint16_t identifier;
21  // Below sequence_number might need to be removed
22  // uint16_t sequence_number;
23 } ICMPv6_ht;
24 
25 typedef struct {
26  uint8_t type;
27  uint8_t code;
28  uint16_t checksum;
29  uint8_t hop_limit;
30  uint8_t flags;
31  uint16_t router_lifetime;
32  uint32_t reachable_time;
34 } ICMPv6_RA_ht;
35 
36 typedef struct {
37  uint8_t option_type;
38  uint8_t option_length;
39  uint8_t prefix_length;
40  uint8_t flags;
41  uint32_t valid_lifetime;
43  uint32_t unused;
44  uint8_t prefix[16]; // prefix container always 16B
46 
47 //=========================== variables =======================================
48 
49 //=========================== prototypes ======================================
50 
51 void icmpv6_init(void);
55 
61 #endif
uint16_t checksum
Definition: icmpv6.h:28
uint8_t option_type
Definition: icmpv6.h:37
uint8_t code
Definition: icmpv6.h:17
uint32_t retransmission_timer
Definition: icmpv6.h:33
uint8_t owerror_t
Definition: openwsn.h:265
void icmpv6_receive(OpenQueueEntry_t *msg)
Definition: icmpv6.c:44
uint8_t type
Definition: icmpv6.h:16
Definition: icmpv6.h:36
uint8_t hop_limit
Definition: icmpv6.h:29
void icmpv6_sendDone(OpenQueueEntry_t *msg, owerror_t error)
Definition: icmpv6.c:24
uint32_t unused
Definition: icmpv6.h:43
Definition: icmpv6.h:15
owerror_t icmpv6_send(OpenQueueEntry_t *msg)
Definition: icmpv6.c:18
uint32_t valid_lifetime
Definition: icmpv6.h:41
Definition: icmpv6.h:25
Definition: openwsn.h:288
uint8_t option_length
Definition: icmpv6.h:38
void icmpv6_init()
Definition: icmpv6.c:15
uint32_t reachable_time
Definition: icmpv6.h:32
uint8_t flags
Definition: icmpv6.h:40
uint32_t preferred_lifetime
Definition: icmpv6.h:42
uint8_t type
Definition: icmpv6.h:26
uint16_t checksum
Definition: icmpv6.h:18
uint8_t flags
Definition: icmpv6.h:30
uint16_t router_lifetime
Definition: icmpv6.h:31
uint8_t code
Definition: icmpv6.h:27
uint8_t prefix_length
Definition: icmpv6.h:39