A struct

struct ipv6_hdr_t

Data type to represent an IPv6 packet header.

The structure of the header is as follows:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class |           Flow Label                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Payload Length        |  Next Header  |   Hop Limit   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                         Source Address                        +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                      Destination Address                      +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

byteorder.h::network_uint32_t v_tc_fl

Version, traffic class, and flow label.

The version are the 4 most significant bits, the traffic class the 8 next bit, and the remainding 20 bits are the flow label (see above).

This module provides helper functions to set, get, and check these fields accordingly:

byteorder.h::network_uint16_t len

payload length of this packet.

uint8_t nh

type of next header in this packet.

uint8_t hl

hop limit for this packet.

ipv6_addr_t src

source address of this packet.

ipv6_addr_t dst

destination address of this packet.

IPv6 rocks!!!!

struct sx127x_t

SX127X device descriptor.

netdev.h::netdev_t netdev

Netdev parent struct.

sx127x_radio_settings_t settings

Radio settings.

sx127x_params_t params

Device driver parameters.

sx127x.h::sx127x_flags_t irq

Device IRQ flags.

struct cortexm_base_t

Structure of Cortex-M basic vector table.

vectors_cortexm.h::isr_t vectors()

shared Cortex-M vectors

Members starting with “_” were removed.

struct ringbuffer_t

Ringbuffer.

Non thread-safe FIFO ringbuffer implementation around a char array.

char * buf

Buffer to operate on.

unsigned int size

Size of buf.

unsigned int start

Current read position in the ring buffer.

unsigned int avail

Number of elements available for reading.

Inside a struct we can refer to a members using a syntax that would normally be ambiguous: size