ext.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2015 Martine Lenders <mlenders@inf.fu-berlin.de>
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
20 #include <stdint.h>
21 
22 #include "net/ipv6/ext/frag.h"
23 #include "net/ipv6/ext/rh.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 #define IPV6_EXT_LEN_UNIT (8U)
37 typedef struct __attribute__((packed)) {
38  uint8_t nh;
39  uint8_t len;
40 } ipv6_ext_t;
41 
50 {
51  return (ipv6_ext_t *)((uint8_t *)(ext) + (ext->len * IPV6_EXT_LEN_UNIT) +
53 }
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
#define IPV6_EXT_LEN_UNIT
Unit in byte for the extension header's length field.
Definition: ext.h:29
static ipv6_ext_t * ipv6_ext_get_next(ipv6_ext_t *ext)
Gets the next extension header in a packet.
Definition: ext.h:49
Fragmentation extension definitions.
Routing extension header definitions.
IPv6 extension headers.
Definition: ext.h:37
uint8_t nh
next header
Definition: ext.h:38
uint8_t len
length in 8 octets without first octet
Definition: ext.h:39