Provides 6LoWPAN dispatch types and helper functions. More...
Provides 6LoWPAN dispatch types and helper functions.
| Topics | |
| 6LoWPAN Neighbor Discovery | |
| Message types and helper functions for Neighbor Discovery Optimization for 6LoWPAN (6LoWPAN-ND) | |
| 6LoWPAN selective fragment recovery | |
| Provides dispatches for 6LoWPAN selective fragment recovery and helper functions. | |
| Files | |
| file | sixlowpan.h | 
| 6LoWPAN dispatch type and helper function definitions. | |
| Data Structures | |
| struct | sixlowpan_frag_t | 
| General and 1st 6LoWPAN fragmentation header.  More... | |
| struct | sixlowpan_frag_n_t | 
| Subsequent 6LoWPAN fragmentation header.  More... | |
| Functions | |
| void | sixlowpan_print (uint8_t *data, size_t size) | 
| Prints 6LoWPAN dispatch to stdout. | |
| 6LoWPAN dispatch definition | |
| 
 | |
| static bool | sixlowpan_nalp (uint8_t disp) | 
| Checks if dispatch indicates that frame is not a 6LoWPAN (NALP) frame. | |
| #define | SIXLOWPAN_UNCOMP (0x41) | 
| uncompressed 6LoWPAN frame dispatch. | |
| #define | SIXLOWPAN_FRAG_DISP_MASK (0xf8) | 
| mask for fragmentation dispatch | |
| #define | SIXLOWPAN_FRAG_1_DISP (0xc0) | 
| dispatch for 1st fragment | |
| #define | SIXLOWPAN_FRAG_N_DISP (0xe0) | 
| dispatch for subsequent fragments | |
| #define | SIXLOWPAN_FRAG_MAX_LEN (2047) | 
| Maximum datagram size  | |
| #define | SIXLOWPAN_IPHC1_DISP_MASK (0xe0) | 
| Dispatch mask for LOWPAN_IPHC. | |
| #define | SIXLOWPAN_IPHC1_DISP (0x60) | 
| Dispatch for LOWPAN_IPHC. | |
| #define | SIXLOWPAN_SFR_DISP_MASK (0xfe) | 
| Dispatch mask for 6LoWPAN selective fragment recovery. | |
| #define | SIXLOWPAN_SFR_RFRAG_DISP (0xe8) | 
| Dispatch for 6LoWPAN recoverable fragment. | |
| #define | SIXLOWPAN_SFR_ACK_DISP (0xea) | 
| Dispatch for 6LoWPAN recoverable fragment acknowledgment. | |
| 6LoWPAN fragmentation header definitions | |
| static bool | sixlowpan_frag_1_is (sixlowpan_frag_t *hdr) | 
| Checks if a given header is a 1st 6LoWPAN fragment header. | |
| static bool | sixlowpan_frag_n_is (sixlowpan_frag_t *hdr) | 
| Checks if a given header is a subsequent 6LoWPAN fragment header. | |
| static bool | sixlowpan_frag_is (sixlowpan_frag_t *hdr) | 
| Checks if a given header is a 6LoWPAN fragment header. | |
| static uint16_t | sixlowpan_frag_datagram_size (sixlowpan_frag_t *hdr) | 
| Get datagram size from general 6LoWPAN fragment header. | |
| static uint16_t | sixlowpan_frag_datagram_tag (sixlowpan_frag_t *hdr) | 
| Get datagram tag from general 6LoWPAN fragment header. | |
| static uint16_t | sixlowpan_frag_offset (sixlowpan_frag_n_t *hdr) | 
| Get fragment offset from a subsequent 6LoWPAN fragment header. | |
| #define | SIXLOWPAN_FRAG_SIZE_MASK (0x07ff) | 
| mask for datagram size | |
| 6LoWPAN IPHC dispatch definitions | |
| static bool | sixlowpan_iphc_is (uint8_t *data) | 
| Checks if datagram is an IPHC datagram. | |
| #define | SIXLOWPAN_IPHC1_TF (0x18) | 
| Flag for Traffic Class & Flow Label elision (part of first byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC1_NH (0x04) | 
| Flag for Next Header Compression (part of first byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC1_HL (0x03) | 
| Flag for Hop Limit elision (part of first byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC2_CID_EXT (0x80) | 
| Flag for Context Identifier Extension (part of second byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC2_SAC (0x40) | 
| Flag for Source Address Compression (part of second byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC2_SAM (0x30) | 
| Bits for Source Address Mode (part of second byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC2_DAC (0x04) | 
| Flag for Destination Address Compression (part of second byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC2_DAM (0x03) | 
| Bits for Destination Address Mode (part of second byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC2_M (0x08) | 
| Flag for Multicast Compression (part of second byte of LOWPAN_IPHC). | |
| #define | SIXLOWPAN_IPHC_HDR_LEN (2) | 
| 6LoWPAN IPHC header length | |
| #define | SIXLOWPAN_IPHC_CID_EXT_LEN (1) | 
| 6LoWPAN context identifier extension header length | |
| #define SIXLOWPAN_FRAG_1_DISP (0xc0) | 
dispatch for 1st fragment
Definition at line 43 of file sixlowpan.h.
| #define SIXLOWPAN_FRAG_DISP_MASK (0xf8) | 
mask for fragmentation dispatch
Definition at line 41 of file sixlowpan.h.
| #define SIXLOWPAN_FRAG_MAX_LEN (2047) | 
Maximum datagram size 
Definition at line 46 of file sixlowpan.h.
| #define SIXLOWPAN_FRAG_N_DISP (0xe0) | 
dispatch for subsequent fragments
Definition at line 44 of file sixlowpan.h.
| #define SIXLOWPAN_FRAG_SIZE_MASK (0x07ff) | 
mask for datagram size
Definition at line 100 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC1_DISP (0x60) | 
| #define SIXLOWPAN_IPHC1_DISP_MASK (0xe0) | 
Dispatch mask for LOWPAN_IPHC.
Definition at line 54 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC1_HL (0x03) | 
Flag for Hop Limit elision (part of first byte of LOWPAN_IPHC).
Definition at line 254 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC1_NH (0x04) | 
Flag for Next Header Compression (part of first byte of LOWPAN_IPHC).
Definition at line 246 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC1_TF (0x18) | 
Flag for Traffic Class & Flow Label elision (part of first byte of LOWPAN_IPHC).
Definition at line 237 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC2_CID_EXT (0x80) | 
Flag for Context Identifier Extension (part of second byte of LOWPAN_IPHC).
Definition at line 263 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC2_DAC (0x04) | 
Flag for Destination Address Compression (part of second byte of LOWPAN_IPHC).
Definition at line 290 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC2_DAM (0x03) | 
Bits for Destination Address Mode (part of second byte of LOWPAN_IPHC).
Definition at line 299 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC2_M (0x08) | 
Flag for Multicast Compression (part of second byte of LOWPAN_IPHC).
Definition at line 308 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC2_SAC (0x40) | 
Flag for Source Address Compression (part of second byte of LOWPAN_IPHC).
Definition at line 272 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC2_SAM (0x30) | 
Bits for Source Address Mode (part of second byte of LOWPAN_IPHC).
Definition at line 281 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC_CID_EXT_LEN (1) | 
6LoWPAN context identifier extension header length
Definition at line 318 of file sixlowpan.h.
| #define SIXLOWPAN_IPHC_HDR_LEN (2) | 
6LoWPAN IPHC header length
Definition at line 313 of file sixlowpan.h.
| #define SIXLOWPAN_SFR_ACK_DISP (0xea) | 
Dispatch for 6LoWPAN recoverable fragment acknowledgment.
Definition at line 80 of file sixlowpan.h.
| #define SIXLOWPAN_SFR_DISP_MASK (0xfe) | 
Dispatch mask for 6LoWPAN selective fragment recovery.
Definition at line 68 of file sixlowpan.h.
| #define SIXLOWPAN_SFR_RFRAG_DISP (0xe8) | 
Dispatch for 6LoWPAN recoverable fragment.
Definition at line 74 of file sixlowpan.h.
| #define SIXLOWPAN_UNCOMP (0x41) | 
uncompressed 6LoWPAN frame dispatch.
Definition at line 40 of file sixlowpan.h.
| 
 | inlinestatic | 
Checks if a given header is a 1st 6LoWPAN fragment header.
| [in] | hdr | A 6LoWPAN fragmentation header. | 
Definition at line 153 of file sixlowpan.h.
| 
 | inlinestatic | 
Get datagram size from general 6LoWPAN fragment header.
| [in] | hdr | A general 6LoWPAN fragment header. | 
Definition at line 191 of file sixlowpan.h.
| 
 | inlinestatic | 
Get datagram tag from general 6LoWPAN fragment header.
| [in] | hdr | A general 6LoWPAN fragment header. | 
Definition at line 203 of file sixlowpan.h.
| 
 | inlinestatic | 
Checks if a given header is a 6LoWPAN fragment header.
| [in] | hdr | A 6LoWPAN fragmentation header. | 
Definition at line 179 of file sixlowpan.h.
| 
 | inlinestatic | 
Checks if a given header is a subsequent 6LoWPAN fragment header.
| [in] | hdr | A 6LoWPAN fragmentation header. | 
Definition at line 166 of file sixlowpan.h.
| 
 | inlinestatic | 
Get fragment offset from a subsequent 6LoWPAN fragment header.
| [in] | hdr | A subsequent 6LoWPAN fragment header. | 
Definition at line 215 of file sixlowpan.h.
| 
 | inlinestatic | 
Checks if datagram is an IPHC datagram.
| [in] | data | Data of a datagram. Must not be NULL. | 
Definition at line 328 of file sixlowpan.h.
| 
 | inlinestatic | 
Checks if dispatch indicates that frame is not a 6LoWPAN (NALP) frame.
| [in] | disp | The first byte of a frame. | 
Definition at line 90 of file sixlowpan.h.
| void sixlowpan_print | ( | uint8_t * | data, | 
| size_t | size ) | 
Prints 6LoWPAN dispatch to stdout.
| [in] | data | A 6LoWPAN frame. | 
| [in] | size | Size of data. |