Handle the irregular chain of the TCP compression profile.  
More...
 | 
| int  | tcp_code_irreg_chain (struct rohc_comp_ctxt *const context, const struct ip_packet *const ip, const uint8_t ip_inner_ecn, const struct tcphdr *const tcp, uint8_t *const rohc_pkt, const size_t rohc_pkt_max_len) | 
|   | Code the irregular chain of one CO packet.  More...
  | 
|   | 
| static int  | tcp_code_irregular_ipv4_part (const struct rohc_comp_ctxt *const context, const ip_context_t *const ip_context, const struct ipv4_hdr *const ipv4, const bool is_innermost, const bool ecn_used, const uint8_t ip_inner_ecn, const bool ttl_irreg_chain_flag, uint8_t *const rohc_data, const size_t rohc_max_len) | 
|   | Build the irregular part of the IPv4 header.  More...
  | 
|   | 
| static int  | tcp_code_irregular_ipv6_part (const struct rohc_comp_ctxt *const context, const ip_context_t *const ip_context, const struct ipv6_hdr *const ipv6, const bool is_innermost, const bool ecn_used, const uint8_t ip_inner_ecn, const bool ttl_irreg_chain_flag, uint8_t *const rohc_data, const size_t rohc_max_len) | 
|   | Build the irregular part of the IPv6 header.  More...
  | 
|   | 
| static int  | tcp_code_irregular_ipv6_opt_part (struct rohc_comp_ctxt *const context, ip_option_context_t *const opt_ctxt, const struct ipv6_opt *const ipv6_opt, const uint8_t protocol, uint8_t *const rohc_data, const size_t rohc_max_len) | 
|   | Build the irregular part of the IPv6 option header.  More...
  | 
|   | 
| static int  | tcp_code_irregular_tcp_part (const struct rohc_comp_ctxt *const context, const struct tcphdr *const tcp, const uint8_t ip_inner_ecn, uint8_t *const rohc_data, const size_t rohc_max_len) | 
|   | Build the irregular part of the TCP header.  More...
  | 
|   | 
◆ tcp_code_irreg_chain()
      
        
          | int tcp_code_irreg_chain  | 
          ( | 
          struct rohc_comp_ctxt *const  | 
          context,  | 
        
        
           | 
           | 
          const struct ip_packet *const  | 
          ip,  | 
        
        
           | 
           | 
          const uint8_t  | 
          ip_inner_ecn,  | 
        
        
           | 
           | 
          const struct tcphdr *const  | 
          tcp,  | 
        
        
           | 
           | 
          uint8_t *const  | 
          rohc_pkt,  | 
        
        
           | 
           | 
          const size_t  | 
          rohc_pkt_max_len  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Code the irregular chain of one CO packet. 
- Parameters
 - 
  
    | context | The compression context  | 
    | ip | The outer IP header  | 
    | ip_inner_ecn | The ECN flags of the innermost IP header  | 
    | tcp | The uncompressed TCP header  | 
    | rohc_pkt | OUT: The ROHC packet  | 
    | rohc_pkt_max_len | The maximum length of the ROHC packet  | 
  
   
- Returns
 - The length of the ROHC packet if successful, -1 otherwise 
 
 
 
◆ tcp_code_irregular_ipv4_part()
  
  
      
        
          | static int tcp_code_irregular_ipv4_part  | 
          ( | 
          const struct rohc_comp_ctxt *const  | 
          context,  | 
         
        
           | 
           | 
          const ip_context_t *const  | 
          ip_context,  | 
         
        
           | 
           | 
          const struct ipv4_hdr *const  | 
          ipv4,  | 
         
        
           | 
           | 
          const bool  | 
          is_innermost,  | 
         
        
           | 
           | 
          const bool  | 
          ecn_used,  | 
         
        
           | 
           | 
          const uint8_t  | 
          ip_inner_ecn,  | 
         
        
           | 
           | 
          const bool  | 
          ttl_irreg_chain_flag,  | 
         
        
           | 
           | 
          uint8_t *const  | 
          rohc_data,  | 
         
        
           | 
           | 
          const size_t  | 
          rohc_max_len  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
Build the irregular part of the IPv4 header. 
See RFC 4996 page 63
- Parameters
 - 
  
     | context | The compression context  | 
     | ip_context | The specific IP compression context  | 
     | ipv4 | The IPv4 header  | 
     | is_innermost | True if IP header is the innermost of the packet  | 
     | ecn_used | The indicator of ECN usage  | 
     | ip_inner_ecn | The ECN flags of the IP innermost header  | 
     | ttl_irreg_chain_flag | Whether the TTL of an outer header changed  | 
    | [out] | rohc_data | The ROHC packet being built  | 
     | rohc_max_len | The max remaining length in the ROHC buffer  | 
  
   
- Returns
 - The length appended in the ROHC buffer if positive, -1 in case of error 
 
 
 
◆ tcp_code_irregular_ipv6_opt_part()
  
  
      
        
          | static int tcp_code_irregular_ipv6_opt_part  | 
          ( | 
          struct rohc_comp_ctxt *const  | 
          context,  | 
         
        
           | 
           | 
          ip_option_context_t *const  | 
          opt_ctxt,  | 
         
        
           | 
           | 
          const struct ipv6_opt *const  | 
          ipv6_opt,  | 
         
        
           | 
           | 
          const uint8_t  | 
          protocol,  | 
         
        
           | 
           | 
          uint8_t *const  | 
          rohc_data,  | 
         
        
           | 
           | 
          const size_t  | 
          rohc_max_len  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
Build the irregular part of the IPv6 option header. 
- Parameters
 - 
  
     | context | The compression context  | 
     | opt_ctxt | The compression context of the IPv6 option  | 
     | ipv6_opt | The IPv6 extension header  | 
     | protocol | The protocol of the IPv6 extension header  | 
    | [out] | rohc_data | The ROHC packet being built  | 
     | rohc_max_len | The max remaining length in the ROHC buffer  | 
  
   
- Returns
 - The length appended in the ROHC buffer if positive, -1 in case of error 
 
 
 
◆ tcp_code_irregular_ipv6_part()
  
  
      
        
          | static int tcp_code_irregular_ipv6_part  | 
          ( | 
          const struct rohc_comp_ctxt *const  | 
          context,  | 
         
        
           | 
           | 
          const ip_context_t *const  | 
          ip_context,  | 
         
        
           | 
           | 
          const struct ipv6_hdr *const  | 
          ipv6,  | 
         
        
           | 
           | 
          const bool  | 
          is_innermost,  | 
         
        
           | 
           | 
          const bool  | 
          ecn_used,  | 
         
        
           | 
           | 
          const uint8_t  | 
          ip_inner_ecn,  | 
         
        
           | 
           | 
          const bool  | 
          ttl_irreg_chain_flag,  | 
         
        
           | 
           | 
          uint8_t *const  | 
          rohc_data,  | 
         
        
           | 
           | 
          const size_t  | 
          rohc_max_len  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
Build the irregular part of the IPv6 header. 
See RFC 4996 page 63
- Parameters
 - 
  
     | context | The compression context  | 
     | ip_context | The specific IP compression context  | 
     | ipv6 | The IPv6 header  | 
     | is_innermost | True if IP header is the innermost of the packet  | 
     | ecn_used | The indicator of ECN usage  | 
     | ip_inner_ecn | The ECN flags of the IP innermost header  | 
     | ttl_irreg_chain_flag | Whether the TTL of an outer header changed  | 
    | [out] | rohc_data | The ROHC packet being built  | 
     | rohc_max_len | The max remaining length in the ROHC buffer  | 
  
   
- Returns
 - The length appended in the ROHC buffer if positive, -1 in case of error 
 
 
 
◆ tcp_code_irregular_tcp_part()
  
  
      
        
          | static int tcp_code_irregular_tcp_part  | 
          ( | 
          const struct rohc_comp_ctxt *const  | 
          context,  | 
         
        
           | 
           | 
          const struct tcphdr *const  | 
          tcp,  | 
         
        
           | 
           | 
          const uint8_t  | 
          ip_inner_ecn,  | 
         
        
           | 
           | 
          uint8_t *const  | 
          rohc_data,  | 
         
        
           | 
           | 
          const size_t  | 
          rohc_max_len  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
static   | 
  
 
Build the irregular part of the TCP header. 
- Parameters
 - 
  
     | context | The compression context  | 
     | tcp | The TCP header  | 
     | ip_inner_ecn | The ECN flags of the innermost IP header  | 
    | [out] | rohc_data | The ROHC packet being built  | 
     | rohc_max_len | The max remaining length in the ROHC buffer  | 
  
   
- Returns
 - The length appended in the ROHC buffer if positive, -1 in case of error