29 #ifndef ROHC_COMP_TCP_OPTS_LIST_H    30 #define ROHC_COMP_TCP_OPTS_LIST_H    55 #define MAX_TCP_OPT_SIZE 40U   132                                           const uint8_t *
const opts,
   133                                           const size_t data_offset)
   134         __attribute__((warn_unused_result, nonnull(1, 2)));
   137                                 const struct tcphdr *
const tcp,
   139                                 size_t *
const opts_len)
   140         __attribute__((warn_unused_result, nonnull(1, 2, 3)));
   143                                   const struct tcphdr *
const tcp,
   147                                   uint8_t *
const comp_opts,
   148                                   const size_t comp_opts_max_len,
   149                                   bool *
const no_item_needed)
   150         __attribute__((warn_unused_result, nonnull(1, 2, 5, 6, 8)));
   153                               const struct tcphdr *
const tcp,
   156                               uint8_t *
const comp_opts,
   157                               const size_t comp_opts_max_len)
   158         __attribute__((warn_unused_result, nonnull(1, 2, 4, 5)));
 size_t age
Definition: c_tcp_opts_list.h:51
 
size_t nr_trans
Definition: c_tcp_opts_list.h:50
 
bool used
Definition: c_tcp_opts_list.h:46
 
The Selective Acknowlegment TCP option. 
Definition: tcp.h:137
 
size_t nr_opt_ts_reply_bits_0x40000
Definition: c_tcp_opts_list.h:105
 
bool opt_ts_present
Definition: c_tcp_opts_list.h:86
 
size_t nr_opt_ts_req_bits_0x40000
Definition: c_tcp_opts_list.h:96
 
size_t structure_nr
Definition: c_tcp_opts_list.h:118
 
int c_tcp_code_tcp_opts_irreg(const struct rohc_comp_ctxt *const context, const struct tcphdr *const tcp, const uint16_t msn, struct c_tcp_opts_ctxt *const opts_ctxt, uint8_t *const comp_opts, const size_t comp_opts_max_len)
Build the list of TCP options for the irregular chain. 
Definition: c_tcp_opts_list.c:888
 
#define MAX_TCP_OPT_SIZE
Definition: c_tcp_opts_list.h:55
 
uint32_t ts_reply
Definition: c_tcp_opts_list.h:90
 
The ROHC compressor. 
Definition: rohc_comp_internals.h:129
 
size_t nr
Definition: c_tcp_opts_list.h:79
 
uint8_t raw[MAX_TCP_OPT_SIZE]
Definition: c_tcp_opts_list.h:59
 
size_t data_len
Definition: c_tcp_opts_list.h:53
 
rohc_chain_t
The different chains used by the ROHCv1 TCP and ROHCv2 profiles. 
Definition: rohc_internal.h:159
 
size_t structure_nr_trans
Definition: c_tcp_opts_list.h:117
 
size_t nr_opt_ts_req_bits_minus_1
Definition: c_tcp_opts_list.h:93
 
bool is_timestamp_init
Definition: c_tcp_opts_list.h:122
 
union c_tcp_opt_ctxt::@20 data
 
size_t nr_opt_ts_reply_bits_0x4000000
Definition: c_tcp_opts_list.h:108
 
Definition: c_tcp_opts_list.h:113
 
One W-LSB encoding object. 
Definition: comp_wlsb.h:56
 
bool tcp_detect_options_changes(struct rohc_comp_ctxt *const context, const struct tcphdr *const tcp, struct c_tcp_opts_ctxt *const opts_ctxt, size_t *const opts_len)
Parse the uncompressed TCP options for changes. 
Definition: c_tcp_opts_list.c:471
 
Internal structures for ROHC compression. 
 
The ROHC compression context. 
Definition: rohc_comp_internals.h:326
 
#define MAX_TCP_OPTION_INDEX
The largest index that may be used to identify one TCP option. 
Definition: rfc6846.h:58
 
ROHC packets for the ROHCv1 IP/TCP profile defined in RFC6846. 
 
bool do_list_static_changed
Definition: c_tcp_opts_list.h:74
 
size_t nr_opt_ts_reply_bits_minus_1
Definition: c_tcp_opts_list.h:102
 
uint8_t idx_max
Definition: c_tcp_opts_list.h:83
 
uint32_t ts_req
Definition: c_tcp_opts_list.h:88
 
The TCP base header without options. 
Definition: tcp.h:50
 
int c_tcp_code_tcp_opts_list_item(const struct rohc_comp_ctxt *const context, const struct tcphdr *const tcp, const uint16_t msn, const rohc_chain_t chain_type, struct c_tcp_opts_ctxt *const opts_ctxt, uint8_t *const comp_opts, const size_t comp_opts_max_len, bool *const no_item_needed)
Build the list of TCP options items. 
Definition: c_tcp_opts_list.c:706
 
uint8_t type
Definition: c_tcp_opts_list.h:48
 
struct tcp_option_timestamp timestamp
Definition: c_tcp_opts_list.h:61
 
Definition: c_tcp_opts_list.h:67
 
#define ROHC_TCP_OPTS_MAX
The maximum of TCP options supported by the TCP profile. 
Definition: rfc6846.h:73
 
The compression context for one TCP option. 
Definition: c_tcp_opts_list.h:43
 
bool rohc_comp_tcp_are_options_acceptable(const struct rohc_comp *const comp, const uint8_t *const opts, const size_t data_offset)
Whether TCP options are acceptable for TCP profile or not. 
Definition: c_tcp_opts_list.c:285
 
size_t nr_opt_ts_req_bits_0x4000000
Definition: c_tcp_opts_list.h:99
 
sack_block_t sack_blocks[4]
Definition: c_tcp_opts_list.h:60
 
bool do_list_struct_changed
Definition: c_tcp_opts_list.h:71