29 #ifndef ROHC_DECOMP_TCP_DEFINES_H 30 #define ROHC_DECOMP_TCP_DEFINES_H 36 #include "schemes/tcp_ts.h" 37 #include "schemes/tcp_sack.h" 45 typedef struct __attribute__((packed))
90 uint32_t auth_data[1];
121 uint8_t ip_ecn_flags:2;
127 uint8_t ip_id_behavior;
142 uint8_t ip_ecn_flags:2;
148 uint8_t ip_id_behavior;
166 uint8_t ip_ecn_flags:2;
172 uint8_t ip_id_behavior;
174 uint32_t flow_label:20;
176 uint32_t src_addr[4];
177 uint32_t dest_addr[4];
239 #define ROHC_TCP_OPT_HDR_LEN 2U 240 #define ROHC_TCP_OPT_MAX_LEN 0xffU 241 #define ROHC_TCP_OPT_GENERIC_DATA_MAX_LEN \ 242 (ROHC_TCP_OPT_MAX_LEN - ROHC_TCP_OPT_HDR_LEN) size_t data_len
Definition: d_tcp_defines.h:47
uint8_t urg_flag_bits
Definition: d_tcp_defines.h:397
uint8_t len
Definition: d_tcp_defines.h:212
size_t flowid_nr
Definition: d_tcp_defines.h:344
uint32_t ack_num
Definition: d_tcp_defines.h:469
struct ipv6_context ipv6_context_t
Define the IPv6 header context.
size_t urg_flag_bits_nr
Definition: d_tcp_defines.h:398
uint32_t sequence_number
Definition: d_tcp_defines.h:65
uint8_t rsf_flags
Definition: d_tcp_defines.h:481
bool ecn_used
Definition: d_tcp_defines.h:294
uint8_t rsf_flags_bits
Definition: d_tcp_defines.h:403
uint8_t c_flag
Definition: d_tcp_defines.h:58
size_t src_port_nr
Definition: d_tcp_defines.h:383
rohc_cid_t cr_base_cid
Definition: d_tcp_defines.h:447
uint8_t k_flag
Definition: d_tcp_defines.h:59
size_t rohc_cid_t
Definition: rohc.h:193
Definition: d_tcp_defines.h:442
uint8_t ack_flag_bits
Definition: d_tcp_defines.h:399
bool ack_flag
Definition: d_tcp_defines.h:479
size_t opts_len
Definition: d_tcp_defines.h:357
size_t res_flags_bits_nr
Definition: d_tcp_defines.h:394
uint16_t tcp_check
Definition: d_tcp_defines.h:485
bool urg_flag
Definition: d_tcp_defines.h:296
uint8_t dscp_bits
Definition: d_tcp_defines.h:324
Define the IPv6 option context for MIME option.
Definition: d_tcp_defines.h:73
size_t ecn_used_bits_nr
Definition: d_tcp_defines.h:392
uint32_t orig_src
Definition: d_tcp_defines.h:78
uint16_t msn
Definition: d_tcp_defines.h:454
uint32_t flowid
Definition: d_tcp_defines.h:342
bool used
Definition: d_tcp_defines.h:205
size_t len
Definition: d_tcp_defines.h:97
uint32_t opt_ts_rep
Definition: d_tcp_defines.h:492
tcp_ip_id_behavior_t id_behavior
Definition: d_tcp_defines.h:422
uint16_t dst_port
Definition: d_tcp_defines.h:463
uint16_t urg_ptr
Definition: d_tcp_defines.h:304
uint8_t proto
Definition: d_tcp_defines.h:338
size_t daddr_nr
Definition: d_tcp_defines.h:352
uint8_t ttl
Definition: d_tcp_defines.h:425
uint16_t tcp_check
Definition: d_tcp_defines.h:406
uint8_t ecn_flags_bits
Definition: d_tcp_defines.h:395
bool ttl_dyn_chain_flag
Definition: d_tcp_defines.h:377
Definition: decomp_wlsb.h:77
uint8_t proto
Definition: d_tcp_defines.h:426
Define the IPv6 option context for Destination, Hop-by-Hop and Routing option.
Definition: d_tcp_defines.h:45
size_t opts_nr
Definition: d_tcp_defines.h:436
size_t dscp_bits_nr
Definition: d_tcp_defines.h:325
bool urg_flag
Definition: d_tcp_defines.h:478
size_t ecn_flags_bits_nr
Definition: d_tcp_defines.h:327
size_t proto_nr
Definition: d_tcp_defines.h:340
uint16_t window
Definition: d_tcp_defines.h:484
size_t ecn_flags_bits_nr
Definition: d_tcp_defines.h:396
bool ttl_dyn_chain_flag
Definition: d_tcp_defines.h:457
uint8_t psh_flag_bits
Definition: d_tcp_defines.h:401
Definition: d_tcp_defines.h:320
struct ipv6_gre_option_context ipv6_gre_option_context_t
Define the IPv6 option context for GRE option.
uint8_t ecn_used_bits
Definition: d_tcp_defines.h:391
uint8_t value
Definition: d_tcp_defines.h:222
uint8_t res_flags
Definition: d_tcp_defines.h:476
uint8_t dscp
Definition: d_tcp_defines.h:421
bool do_ctxt_replication
Definition: d_tcp_defines.h:365
uint8_t ecn_flags
Definition: d_tcp_defines.h:477
uint8_t df
Definition: d_tcp_defines.h:333
#define ROHC_TCP_OPT_GENERIC_DATA_MAX_LEN
Definition: d_tcp_defines.h:241
uint16_t dst_port
Definition: d_tcp_defines.h:384
Definition: decomp/schemes/tcp_sack.h:38
Define the common IP header context to IPv4 and IPv6.
Definition: c_tcp_defines.h:127
size_t df_nr
Definition: d_tcp_defines.h:335
The Least Significant Bits (LSB) decoding object.
Definition: decomp_wlsb.h:57
uint16_t value
Definition: d_tcp_defines.h:217
Definition: d_tcp_defines.h:234
uint16_t src_port
Definition: d_tcp_defines.h:382
Definition: c_tcp_defines.h:172
uint16_t src_port
Definition: d_tcp_defines.h:462
size_t dst_port_nr
Definition: d_tcp_defines.h:385
Definition: decomp_wlsb.h:86
#define IPV6_OPT_CTXT_LEN_MAX
Definition: ipv6.h:154
Define the IPv6 option context for AH option.
Definition: d_tcp_defines.h:86
struct ipv6_generic_option_context ipv6_generic_option_context_t
Define the IPv6 generic option context.
uint8_t df
Definition: d_tcp_defines.h:424
size_t rsf_flags_bits_nr
Definition: d_tcp_defines.h:404
bool psh_flag
Definition: d_tcp_defines.h:480
bool do_ctxt_replication
Definition: d_tcp_defines.h:445
size_t ip_nr
Definition: d_tcp_defines.h:451
uint8_t s_bit
Definition: d_tcp_defines.h:75
uint32_t seq_num_residue
Definition: d_tcp_defines.h:468
bool is_static
Definition: d_tcp_defines.h:211
Define the IPv6 header context.
Definition: c_tcp_defines.h:184
uint16_t ack_stride
Definition: d_tcp_defines.h:287
bool ttl_irreg_chain_flag
Definition: d_tcp_defines.h:459
bool ack_flag
Definition: d_tcp_defines.h:297
Definition: d_tcp_defines.h:203
uint32_t sequence_number
Definition: d_tcp_defines.h:89
Window-based Least Significant Bits (W-LSB) decoding.
size_t ack_flag_bits_nr
Definition: d_tcp_defines.h:400
size_t ip_contexts_nr
Definition: d_tcp_defines.h:314
struct ipv4_context ipv4_context_t
Define the IPv4 header context.
Define the IPv4 header context.
Definition: c_tcp_defines.h:148
#define ROHC_TCP_MAX_IP_HDRS
The maximum number of IP headers supported by the TCP profile.
Definition: tcp.h:58
size_t id_behavior_nr
Definition: d_tcp_defines.h:330
Definition: d_tcp_defines.h:269
uint8_t load_len
Definition: d_tcp_defines.h:238
uint16_t ack_num_residue
Definition: d_tcp_defines.h:471
#define MAX_TCP_OPTION_INDEX
The largest index that may be used to identify one TCP option.
Definition: tcp.h:76
uint32_t seq_num_scaled
Definition: d_tcp_defines.h:467
struct ipv6_mime_option_context ipv6_mime_option_context_t
Define the IPv6 option context for MIME option.
struct ipvx_context ipvx_context_t
Define the common IP header context to IPv4 and IPv6.
uint32_t key
Definition: d_tcp_defines.h:64
uint8_t rsf_flags
Definition: d_tcp_defines.h:298
uint16_t ack_num_residue
Definition: d_tcp_defines.h:288
uint8_t version
Definition: d_tcp_defines.h:419
Define the IPv6 option context for GRE option.
Definition: d_tcp_defines.h:56
uint32_t opt_ts_req
Definition: d_tcp_defines.h:491
uint16_t ack_stride
Definition: d_tcp_defines.h:472
uint8_t res_flags
Definition: d_tcp_defines.h:293
uint8_t version
Definition: d_tcp_defines.h:322
Definition: decomp_wlsb.h:68
Definition: d_tcp_defines.h:417
size_t opts_len
Definition: d_tcp_defines.h:437
uint8_t ecn_flags
Definition: d_tcp_defines.h:295
uint8_t nh_proto
Definition: d_tcp_defines.h:99
rohc_cid_t cr_base_cid
Definition: d_tcp_defines.h:367
uint8_t type
Definition: d_tcp_defines.h:206
uint32_t ack_num_scaled
Definition: d_tcp_defines.h:470
ipv6_gre_option_context_t gre
Definition: d_tcp_defines.h:104
ip_version
IP version.
Definition: ip.h:49
uint8_t rnd
Definition: d_tcp_defines.h:428
uint8_t protocol
Definition: d_tcp_defines.h:61
uint32_t spi
Definition: d_tcp_defines.h:88
uint8_t ecn_flags_bits
Definition: d_tcp_defines.h:326
Define union of IP contexts.
Definition: c_tcp_defines.h:210
uint8_t id_behavior
Definition: d_tcp_defines.h:329
uint8_t padding
Definition: d_tcp_defines.h:62
ipv6_ah_option_context_t ah
Definition: d_tcp_defines.h:106
uint16_t tcp_src_port
Definition: d_tcp_defines.h:280
tcp_ip_id_behavior_t
Definition: tcp.h:259
uint8_t s_flag
Definition: d_tcp_defines.h:60
uint16_t urg_ptr
Definition: d_tcp_defines.h:486
size_t opts_nr
Definition: d_tcp_defines.h:356
size_t opts_len
Definition: d_tcp_defines.h:196
uint32_t orig_dest
Definition: d_tcp_defines.h:77
#define ROHC_TCP_OPTS_MAX
The maximum of TCP options supported by the TCP profile.
Definition: tcp.h:102
Definition: d_tcp_defines.h:250
Definition: d_tcp_defines.h:236
size_t ip_nr
Definition: d_tcp_defines.h:371
uint8_t res_bits
Definition: d_tcp_defines.h:76
#define ROHC_TCP_MAX_IP_EXT_HDRS
The maximum number of IP extension header supported by the TCP profile.
Definition: tcp.h:67
bool ttl_irreg_chain_flag
Definition: d_tcp_defines.h:379
ipv6_mime_option_context_t mime
Definition: d_tcp_defines.h:105
uint8_t nbo
Definition: d_tcp_defines.h:427
uint8_t proto
Definition: d_tcp_defines.h:98
uint16_t ip_id
Definition: d_tcp_defines.h:149
uint16_t id
Definition: d_tcp_defines.h:423
size_t psh_flag_bits_nr
Definition: d_tcp_defines.h:402
uint32_t seq_num
Definition: d_tcp_defines.h:466
size_t saddr_nr
Definition: d_tcp_defines.h:348
size_t nr
Definition: d_tcp_defines.h:253
uint8_t ecn_flags
Definition: d_tcp_defines.h:420
struct ipv6_ah_option_context ipv6_ah_option_context_t
Define the IPv6 option context for AH option.
uint32_t seq_num_residue
Definition: d_tcp_defines.h:283
Definition: d_tcp_defines.h:362
uint8_t res_flags_bits
Definition: d_tcp_defines.h:393
uint32_t flowid
Definition: d_tcp_defines.h:430
bool ecn_used
Definition: d_tcp_defines.h:475
uint16_t tcp_dst_port
Definition: d_tcp_defines.h:281
uint8_t sid
Definition: d_tcp_defines.h:429
Compute the interpretation interval for LSB and W-LSB encoding.
Definition: d_tcp_defines.h:235