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)
326 uint8_t ecn_flags_bits:2;
329 uint8_t id_behavior:2;
size_t data_len
Definition: d_tcp_defines.h:47
uint8_t urg_flag_bits
Definition: d_tcp_defines.h:392
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:459
struct ipv6_context ipv6_context_t
Define the IPv6 header context.
size_t urg_flag_bits_nr
Definition: d_tcp_defines.h:393
uint32_t sequence_number
Definition: d_tcp_defines.h:65
bool ecn_used
Definition: d_tcp_defines.h:294
uint8_t rsf_flags_bits
Definition: d_tcp_defines.h:398
size_t src_port_nr
Definition: d_tcp_defines.h:378
struct rohc_lsb_decode * seq_scaled_lsb_ctxt
Definition: d_tcp_defines.h:285
Definition: d_tcp_defines.h:437
uint8_t ack_flag_bits
Definition: d_tcp_defines.h:394
bool ack_flag
Definition: d_tcp_defines.h:469
size_t opts_len
Definition: d_tcp_defines.h:357
size_t res_flags_bits_nr
Definition: d_tcp_defines.h:389
uint16_t tcp_check
Definition: d_tcp_defines.h:475
bool urg_flag
Definition: d_tcp_defines.h:296
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:387
uint32_t orig_src
Definition: d_tcp_defines.h:78
uint16_t msn
Definition: d_tcp_defines.h:444
struct rohc_lsb_decode * opt_ts_req_lsb_ctxt
Definition: d_tcp_defines.h:309
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:482
tcp_ip_id_behavior_t id_behavior
Definition: d_tcp_defines.h:417
uint16_t dst_port
Definition: d_tcp_defines.h:453
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:420
uint16_t tcp_check
Definition: d_tcp_defines.h:401
uint8_t ecn_flags_bits
Definition: d_tcp_defines.h:390
bool ttl_dyn_chain_flag
Definition: d_tcp_defines.h:372
Definition: decomp_wlsb.h:66
uint8_t proto
Definition: d_tcp_defines.h:421
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:431
size_t dscp_bits_nr
Definition: d_tcp_defines.h:325
bool urg_flag
Definition: d_tcp_defines.h:468
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:474
size_t ecn_flags_bits_nr
Definition: d_tcp_defines.h:391
bool ttl_dyn_chain_flag
Definition: d_tcp_defines.h:447
uint8_t psh_flag_bits
Definition: d_tcp_defines.h:396
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:386
uint8_t value
Definition: d_tcp_defines.h:222
#define ROHC_TCP_OPT_GENERIC_DATA_MAX_LEN
Definition: d_tcp_defines.h:241
uint16_t dst_port
Definition: d_tcp_defines.h:379
Definition: decomp/schemes/tcp_sack.h:38
Define the common IP header context to IPv4 and IPv6.
Definition: c_tcp.c:181
struct rohc_lsb_decode * window_lsb_ctxt
Definition: d_tcp_defines.h:301
size_t df_nr
Definition: d_tcp_defines.h:335
The Least Significant Bits (LSB) decoding object.
Definition: decomp_wlsb.c:45
uint16_t value
Definition: d_tcp_defines.h:217
Definition: d_tcp_defines.h:234
uint16_t src_port
Definition: d_tcp_defines.h:377
uint16_t src_port
Definition: d_tcp_defines.h:452
size_t dst_port_nr
Definition: d_tcp_defines.h:380
Definition: decomp_wlsb.h:75
#define IPV6_OPT_CTXT_LEN_MAX
Definition: ipv6.h:154
Define the IPv6 option context for AH option.
Definition: d_tcp_defines.h:86
size_t rsf_flags_bits_nr
Definition: d_tcp_defines.h:399
bool psh_flag
Definition: d_tcp_defines.h:470
size_t ip_nr
Definition: d_tcp_defines.h:441
uint32_t seq_num_residue
Definition: d_tcp_defines.h:458
bool is_static
Definition: d_tcp_defines.h:211
Define the IPv6 header context.
Definition: c_tcp.c:238
uint16_t ack_stride
Definition: d_tcp_defines.h:287
bool ttl_irreg_chain_flag
Definition: d_tcp_defines.h:449
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:395
size_t ip_contexts_nr
Definition: d_tcp_defines.h:314
struct ipv4_context ipv4_context_t
Define the IPv4 header context.
struct ipv6_generic_option_context ipv6_generic_option_context_t
Define the IPv6 generic option context.
Define the IPv4 header context.
Definition: c_tcp.c:202
#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:461
#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:457
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
uint16_t ack_num_residue
Definition: d_tcp_defines.h:288
Define the IPv6 option context for GRE option.
Definition: d_tcp_defines.h:56
struct rohc_lsb_decode * ttl_hl_lsb_ctxt
Definition: d_tcp_defines.h:277
uint32_t opt_ts_req
Definition: d_tcp_defines.h:481
uint16_t ack_stride
Definition: d_tcp_defines.h:462
Definition: decomp_wlsb.h:57
Definition: d_tcp_defines.h:412
size_t opts_len
Definition: d_tcp_defines.h:432
uint8_t nh_proto
Definition: d_tcp_defines.h:99
struct rohc_lsb_decode * seq_lsb_ctxt
Definition: d_tcp_defines.h:284
uint8_t type
Definition: d_tcp_defines.h:206
uint32_t ack_num_scaled
Definition: d_tcp_defines.h:460
ipv6_gre_option_context_t gre
Definition: d_tcp_defines.h:104
ip_version
IP version.
Definition: ip.h:53
uint32_t spi
Definition: d_tcp_defines.h:88
struct rohc_lsb_decode * ip_id_lsb_ctxt
Definition: d_tcp_defines.h:275
struct rohc_lsb_decode * ack_scaled_lsb_ctxt
Definition: d_tcp_defines.h:290
Define union of IP contexts.
Definition: c_tcp.c:264
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:245
struct rohc_lsb_decode * opt_ts_rep_lsb_ctxt
Definition: d_tcp_defines.h:310
uint16_t urg_ptr
Definition: d_tcp_defines.h:476
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:366
#define ROHC_TCP_MAX_IP_EXT_HDRS
The maximum number of IP extension header supported by the TCP profile.
Definition: tcp.h:67
struct rohc_lsb_decode * msn_lsb_ctxt
Definition: d_tcp_defines.h:272
bool ttl_irreg_chain_flag
Definition: d_tcp_defines.h:374
ipv6_mime_option_context_t mime
Definition: d_tcp_defines.h:105
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:418
size_t psh_flag_bits_nr
Definition: d_tcp_defines.h:397
uint32_t seq_num
Definition: d_tcp_defines.h:456
struct rohc_lsb_decode * ack_lsb_ctxt
Definition: d_tcp_defines.h:289
size_t saddr_nr
Definition: d_tcp_defines.h:348
size_t nr
Definition: d_tcp_defines.h:253
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:388
bool ecn_used
Definition: d_tcp_defines.h:465
uint16_t tcp_dst_port
Definition: d_tcp_defines.h:281
Compute the interpretation interval for LSB and W-LSB encoding.
Definition: d_tcp_defines.h:235