60 #define SICSLOWPAN_UDP_4_BIT_PORT_MIN 0xF0B0 61 #define SICSLOWPAN_UDP_4_BIT_PORT_MAX 0xF0BF 62 #define SICSLOWPAN_UDP_8_BIT_PORT_MIN 0xF000 63 #define SICSLOWPAN_UDP_8_BIT_PORT_MAX 0xF0FF 73 #define SICSLOWPAN_COMPRESSION_IPV6 0 74 #define SICSLOWPAN_COMPRESSION_IPHC 1 75 #define SICSLOWPAN_COMPRESSION_6LORH 2 84 #define SICSLOWPAN_DISPATCH_IPV6 0x41 85 #define SICSLOWPAN_DISPATCH_HC1 0x42 86 #define SICSLOWPAN_DISPATCH_IPHC 0x60 87 #define SICSLOWPAN_DISPATCH_IPHC_MASK 0xe0 88 #define SICSLOWPAN_DISPATCH_FRAG1 0xc0 89 #define SICSLOWPAN_DISPATCH_FRAGN 0xe0 90 #define SICSLOWPAN_DISPATCH_FRAG_MASK 0xf8 91 #define SICSLOWPAN_DISPATCH_PAGING 0xf0 92 #define SICSLOWPAN_DISPATCH_PAGING_MASK 0xf0 98 #define SICSLOWPAN_HC1_NH_UDP 0x02 99 #define SICSLOWPAN_HC1_NH_TCP 0x06 100 #define SICSLOWPAN_HC1_NH_ICMP6 0x04 106 #define SICSLOWPAN_HC_UDP_ALL_C 0xE0 117 #define SICSLOWPAN_IPHC_FL_C 0x10 118 #define SICSLOWPAN_IPHC_TC_C 0x08 119 #define SICSLOWPAN_IPHC_NH_C 0x04 120 #define SICSLOWPAN_IPHC_TTL_1 0x01 121 #define SICSLOWPAN_IPHC_TTL_64 0x02 122 #define SICSLOWPAN_IPHC_TTL_255 0x03 123 #define SICSLOWPAN_IPHC_TTL_I 0x00 127 #define SICSLOWPAN_IPHC_CID 0x80 129 #define SICSLOWPAN_IPHC_SAC 0x40 130 #define SICSLOWPAN_IPHC_SAM_00 0x00 131 #define SICSLOWPAN_IPHC_SAM_01 0x10 132 #define SICSLOWPAN_IPHC_SAM_10 0x20 133 #define SICSLOWPAN_IPHC_SAM_11 0x30 135 #define SICSLOWPAN_IPHC_SAM_BIT 4 137 #define SICSLOWPAN_IPHC_M 0x08 138 #define SICSLOWPAN_IPHC_DAC 0x04 139 #define SICSLOWPAN_IPHC_DAM_00 0x00 140 #define SICSLOWPAN_IPHC_DAM_01 0x01 141 #define SICSLOWPAN_IPHC_DAM_10 0x02 142 #define SICSLOWPAN_IPHC_DAM_11 0x03 144 #define SICSLOWPAN_IPHC_DAM_BIT 0 147 #define SICSLOWPAN_IPHC_ADDR_CONTEXT_LL 0 149 #define SICSLOWPAN_IPHC_MCAST_RANGE 0xA0 153 #define SICSLOWPAN_NHC_MASK 0xF0 154 #define SICSLOWPAN_NHC_EXT_HDR 0xE0 155 #define SICSLOWPAN_NHC_BIT 0x01 158 #define SICSLOWPAN_NHC_ETX_HDR_HBHO 0x00 159 #define SICSLOWPAN_NHC_ETX_HDR_ROUTING 0x01 160 #define SICSLOWPAN_NHC_ETX_HDR_FRAG 0x02 161 #define SICSLOWPAN_NHC_ETX_HDR_DESTO 0x03 162 #define SICSLOWPAN_NHC_ETX_HDR_MOH 0x04 163 #define SICSLOWPAN_NHC_ETX_HDR_IPV6 0x07 173 #define SICSLOWPAN_NHC_UDP_MASK 0xF8 174 #define SICSLOWPAN_NHC_UDP_ID 0xF0 175 #define SICSLOWPAN_NHC_UDP_CHECKSUMC 0x04 176 #define SICSLOWPAN_NHC_UDP_CHECKSUMI 0x00 178 #define SICSLOWPAN_NHC_UDP_CS_P_00 0xF0 179 #define SICSLOWPAN_NHC_UDP_CS_P_01 0xF1 180 #define SICSLOWPAN_NHC_UDP_CS_P_10 0xF2 181 #define SICSLOWPAN_NHC_UDP_CS_P_11 0xF3 190 #define SICSLOWPAN_IPV6_HDR_LEN 1 191 #define SICSLOWPAN_HC1_HDR_LEN 3 192 #define SICSLOWPAN_HC1_HC_UDP_HDR_LEN 7 193 #define SICSLOWPAN_FRAG1_HDR_LEN 4 194 #define SICSLOWPAN_FRAGN_HDR_LEN 5 257 #define sicslowpan_is_iid_16_bit_compressable(a) \ 258 ((((a)->u16[4]) == 0) && \ 259 (((a)->u8[10]) == 0)&& \ 260 (((a)->u8[11]) == 0xff)&& \ 261 (((a)->u8[12]) == 0xfe)&& \ 262 (((a)->u8[13]) == 0)) 271 #define sicslowpan_is_mcast_addr_decompressable(a) \ 272 (((*a & 0x01) == 0) && \ 273 ((*(a + 1) == 0x01) || (*(a + 1) == 0x02))) 281 #define sicslowpan_is_mcast_addr_compressable(a) \ 282 ((((a)->u16[1]) == 0) && \ 283 (((a)->u16[2]) == 0) && \ 284 (((a)->u16[3]) == 0) && \ 285 (((a)->u16[4]) == 0) && \ 286 (((a)->u16[5]) == 0) && \ 287 (((a)->u16[6]) == 0) && \ 288 (((a)->u8[14]) == 0) && \ 289 ((((a)->u8[15]) == 1) || (((a)->u8[15]) == 2))) 292 #define sicslowpan_is_mcast_addr_compressable48(a) \ 293 ((((a)->u16[1]) == 0) && \ 294 (((a)->u16[2]) == 0) && \ 295 (((a)->u16[3]) == 0) && \ 296 (((a)->u16[4]) == 0) && \ 297 (((a)->u8[10]) == 0)) 300 #define sicslowpan_is_mcast_addr_compressable32(a) \ 301 ((((a)->u16[1]) == 0) && \ 302 (((a)->u16[2]) == 0) && \ 303 (((a)->u16[3]) == 0) && \ 304 (((a)->u16[4]) == 0) && \ 305 (((a)->u16[5]) == 0) && \ 306 (((a)->u8[12]) == 0)) 309 #define sicslowpan_is_mcast_addr_compressable8(a) \ 310 ((((a)->u8[1]) == 2) && \ 311 (((a)->u16[1]) == 0) && \ 312 (((a)->u16[2]) == 0) && \ 313 (((a)->u16[3]) == 0) && \ 314 (((a)->u16[4]) == 0) && \ 315 (((a)->u16[5]) == 0) && \ 316 (((a)->u16[6]) == 0) && \ 317 (((a)->u8[14]) == 0)) 327 int (* is_compressable)(uint8_t next_header);
331 int (* compress)(uint8_t *compressed, uint8_t *uncompressed_len);
335 int (* uncompress)(uint8_t *compressed, uint8_t *lowpanbuf, uint8_t *uncompressed_len);
339 extern CC_DEPRECATED(
"Use UIPBUF_ATTR_RSSI instead") int sicslowpan_get_last_rssi(
void);
#define CC_DEPRECATED(msg)
Configure if the C compiler supports marking functions as deprecated e.g.
The structure of a next header compressor.
The structure of a network driver in Contiki.
The header for fragments.
Header file for the uIP TCP/IP stack.