ROHC compression/decompression library
|
ROHC packets for the ROHCv1 IP/TCP profile defined in RFC6846. More...
#include <stdint.h>
#include "config.h"
Go to the source code of this file.
Data Structures | |
struct | ipv4_static_t |
The IPv4 static part. More... | |
struct | ipv4_dynamic1_t |
The IPv4 dynamic part without IP-ID field. More... | |
struct | ipv4_dynamic2_t |
The IPv4 dynamic part with IP-ID field. More... | |
struct | ipv4_replicate_t |
The IPv4 replicate part. More... | |
struct | ip_opt_static_t |
struct | ip_dest_opt_static_t |
struct | ip_hop_opt_static_t |
struct | ip_rout_opt_static_t |
struct | ipv6_static1_t |
The IPv6 static part, null flow_label encoded with 1 bit. More... | |
struct | ipv6_static2_t |
The IPv6 static part, flow_label encoded with 1+20 bits. More... | |
struct | ipv6_dynamic_t |
The IPv6 dynamic part. More... | |
struct | ipv6_replicate1_t |
The IPv6 replicate part with short Flow Label. More... | |
struct | ipv6_replicate2_t |
The IPv6 replicate part with long Flow Label. More... | |
struct | tcp_static_t |
The TCP static part. More... | |
struct | tcp_dynamic_t |
The TCP dynamic part. More... | |
struct | tcp_replicate_t |
The TCP replicate part. More... | |
struct | co_common_t |
The Common compressed packet format. More... | |
struct | rnd_1_t |
The rnd_1 compressed packet format. More... | |
struct | rnd_2_t |
The rnd_2 compressed packet format. More... | |
struct | rnd_3_t |
The rnd_3 compressed packet format. More... | |
struct | rnd_4_t |
The rnd_4 compressed packet format. More... | |
struct | rnd_5_t |
The rnd_5 compressed packet format. More... | |
struct | rnd_6_t |
The rnd_6 compressed packet format. More... | |
struct | rnd_7_t |
The rnd_7 compressed packet format. More... | |
struct | rnd_8_t |
The rnd_8 compressed packet format. More... | |
struct | seq_1_t |
The seq_1 compressed packet format. More... | |
struct | seq_2_t |
The seq_2 compressed packet format. More... | |
struct | seq_3_t |
The seq_3 compressed packet format. More... | |
struct | seq_4_t |
The seq_4 compressed packet format. More... | |
struct | seq_5_t |
The seq_5 compressed packet format. More... | |
struct | seq_6_t |
The seq_6 compressed packet format. More... | |
struct | seq_7_t |
The seq_7 compressed packet format. More... | |
struct | seq_8_t |
The seq_8 compressed packet format. More... | |
Macros | |
#define | ROHC_PACKET_TYPE_IR 0xFD |
#define | ROHC_PACKET_TYPE_IR_CR 0xfc |
#define | ROHC_PACKET_TYPE_IR_DYN 0xF8 |
#define | MAX_TCP_OPTION_INDEX 15U |
The largest index that may be used to identify one TCP option. More... | |
#define | ROHC_TCP_OPTS_MAX 15U |
The maximum of TCP options supported by the TCP profile. More... | |
#define | TCP_INDEX_NOP 0U |
#define | TCP_INDEX_EOL 1U |
#define | TCP_INDEX_MSS 2U |
#define | TCP_INDEX_WS 3U |
#define | TCP_INDEX_TS 4U |
#define | TCP_INDEX_SACK_PERM 5U |
#define | TCP_INDEX_SACK 6U |
#define | TCP_INDEX_GENERIC7 7U |
#define | TCP_INDEX_GENERIC8 8U |
#define | TCP_INDEX_GENERIC9 9U |
#define | TCP_INDEX_GENERIC10 10U |
#define | TCP_INDEX_GENERIC11 11U |
#define | TCP_INDEX_GENERIC12 12U |
#define | TCP_INDEX_GENERIC13 13U |
#define | TCP_INDEX_GENERIC14 14U |
#define | TCP_INDEX_GENERIC15 15U |
Enumerations | |
enum | { ROHC_TCP_PORT_STATIC = 0, ROHC_TCP_PORT_LSB8 = 1, ROHC_TCP_PORT_IRREGULAR = 2, ROHC_TCP_PORT_RESERVED = 3 } |
The different presence flags for port_replicate() encoding scheme. More... | |
ROHC packets for the ROHCv1 IP/TCP profile defined in RFC6846.
#define MAX_TCP_OPTION_INDEX 15U |
The largest index that may be used to identify one TCP option.
The ROHC standard defines that one TCP option is identified by an index. It also defines that index is in range [0 ; 15].
#define ROHC_PACKET_TYPE_IR 0xFD |
#define ROHC_PACKET_TYPE_IR_CR 0xfc |
#define ROHC_PACKET_TYPE_IR_DYN 0xF8 |
#define ROHC_TCP_OPTS_MAX 15U |
The maximum of TCP options supported by the TCP profile.
One TCP header may contain up to 40 bytes of options, so it may contain up 40 1-byte options, so the ROHC (de)compressors should expect such TCP packets. However the m field in the compressed list of TCP options (see RFC 6846, section 6.3.3 for more details) cannot be larger than 15, so restrict the number of TCP options that value. One TCP packet with more than 15 TCP options will be compressed with the IP-only profile.
#define TCP_INDEX_EOL 1U |
#define TCP_INDEX_GENERIC10 10U |
#define TCP_INDEX_GENERIC11 11U |
#define TCP_INDEX_GENERIC12 12U |
#define TCP_INDEX_GENERIC13 13U |
#define TCP_INDEX_GENERIC14 14U |
#define TCP_INDEX_GENERIC15 15U |
#define TCP_INDEX_GENERIC7 7U |
#define TCP_INDEX_GENERIC8 8U |
#define TCP_INDEX_GENERIC9 9U |
#define TCP_INDEX_MSS 2U |
#define TCP_INDEX_NOP 0U |
#define TCP_INDEX_SACK 6U |
#define TCP_INDEX_SACK_PERM 5U |
#define TCP_INDEX_TS 4U |
#define TCP_INDEX_WS 3U |
anonymous enum |
The different presence flags for port_replicate() encoding scheme.