| 
    ROHC compression/decompression library
    
   | 
 
ROHC decompression context for the ROHCv2 IP-only profile. More...
#include "rohc_decomp.h"#include "rohc_decomp_internals.h"#include "rohc_traces_internal.h"#include "rohc_decomp_detect_packet.h"#include "protocols/ip_numbers.h"#include "protocols/ip.h"#include "protocols/rfc5225.h"#include "schemes/ip_ctxt.h"#include "schemes/decomp_wlsb.h"#include "schemes/decomp_crc.h"#include "schemes/rfc4996.h"#include "rohc_bit_ops.h"#include "crc.h"#include "rohc_debug.h"#include "interval.h"#include <string.h>
Data Structures | |
| struct | rohc_decomp_rfc5225_ip_ctxt | 
| struct | rohc_rfc5225_ip_bits | 
| struct | rohc_rfc5225_bits | 
| struct | rohc_rfc5225_decoded_ip | 
| struct | rohc_rfc5225_decoded | 
Functions | |
| static bool | decomp_rfc5225_ip_new_context (const struct rohc_decomp_ctxt *const context, void **const persist_ctxt, struct rohc_decomp_volat_ctxt *const volat_ctxt) | 
| Create the ROHCv2 IP-only volatile and persistent parts of the context.  More... | |
| static void | decomp_rfc5225_ip_free_context (struct rohc_decomp_rfc5225_ip_ctxt *const rfc5225_ctxt, const struct rohc_decomp_volat_ctxt *const volat_ctxt) | 
| Destroy profile-specific data, nothing to destroy for the ROHCv2 IP-only profile.  More... | |
| static rohc_packet_t | decomp_rfc5225_ip_detect_pkt_type (const struct rohc_decomp_ctxt *const context, const uint8_t *const rohc_packet, const size_t rohc_length, const size_t large_cid_len) | 
| Detect the type of ROHC packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_pkt (const struct rohc_decomp_ctxt *const context, const struct rohc_buf rohc_packet, const size_t large_cid_len, rohc_packet_t *const packet_type, struct rohc_decomp_crc *const extr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse one ROHC packet for the ROHCv2 IP-only profile.  More... | |
| static void | decomp_rfc5225_ip_reset_extr_bits (const struct rohc_decomp_ctxt *const ctxt, struct rohc_rfc5225_bits *const bits) | 
| Reset the extracted bits for next parsing.  More... | |
| static bool | decomp_rfc5225_ip_parse_ir (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_buf rohc_pkt, const size_t large_cid_len, struct rohc_decomp_crc *const extr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse one IR packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_co_repair (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_buf rohc_pkt, const size_t large_cid_len, struct rohc_decomp_crc *const hdr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse one co_repair packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_co (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_buf rohc_pkt, const size_t large_cid_len, const rohc_packet_t packet_type, struct rohc_decomp_crc *const extr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse CO packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_pt_0_crc3 (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, struct rohc_decomp_crc *const extr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse one pt_0_crc3 packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_pt_0_crc7 (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, struct rohc_decomp_crc *const extr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse one pt_0_crc7 packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_pt_1_seq_id (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, struct rohc_decomp_crc *const extr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse one pt_1_seq_id packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_pt_2_seq_id (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, struct rohc_decomp_crc *const extr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse one pt_2_seq_id packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_co_common (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, struct rohc_decomp_crc *const extr_crc, struct rohc_rfc5225_bits *const bits, size_t *const rohc_hdr_len) | 
| Parse one co_common packet for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_parse_static_chain (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, struct rohc_rfc5225_bits *const bits, size_t *const parsed_len) | 
| Parse the static chain of the IR packet.  More... | |
| static int | decomp_rfc5225_ip_parse_static_ip (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, struct rohc_rfc5225_ip_bits *const ip_bits, bool *const is_innermost) | 
| Decode the static IP header of the ROHC packet.  More... | |
| static bool | decomp_rfc5225_ip_parse_dyn_chain (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, struct rohc_rfc5225_bits *const bits, size_t *const parsed_len) | 
| Parse the dynamic chain of the IR packet.  More... | |
| static int | decomp_rfc5225_ip_parse_dyn_ip (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, const bool is_innermost, struct rohc_rfc5225_bits *const bits, struct rohc_rfc5225_ip_bits *const ip_bits) | 
| Decode the dynamic IP header of the ROHC packet.  More... | |
| static int | decomp_rfc5225_ip_parse_dyn_ipv4 (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, const bool is_innermost, struct rohc_rfc5225_bits *const bits, struct rohc_rfc5225_ip_bits *const ip_bits) | 
| Decode the dynamic IPv4 header of the ROHC packet.  More... | |
| static int | decomp_rfc5225_ip_parse_dyn_ipv6 (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, const bool is_innermost, struct rohc_rfc5225_bits *const bits, struct rohc_rfc5225_ip_bits *const ip_bits) | 
| Decode the dynamic IPv6 header of the ROHC packet.  More... | |
| static bool | decomp_rfc5225_ip_parse_irreg_chain (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, const rohc_ip_id_behavior_t innermost_ip_id_behavior, struct rohc_rfc5225_bits *const bits, size_t *const parsed_len) | 
| Parse the irregular chain of the CO packet.  More... | |
| static int | decomp_rfc5225_ip_parse_irreg_ip (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *const rohc_pkt, const size_t rohc_len, const bool is_innermost, const rohc_ip_id_behavior_t ip_id_behavior, const bool outer_ip_flag, struct rohc_rfc5225_ip_bits *const ip_bits) | 
| Decode the irregular IP header of the ROHC packet.  More... | |
| static rohc_status_t | decomp_rfc5225_ip_decode_bits (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_rfc5225_bits *const bits, const size_t payload_len, struct rohc_rfc5225_decoded *const decoded) | 
| Decode values from extracted bits for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_decode_bits_ip_hdrs (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_rfc5225_bits *const bits, struct rohc_rfc5225_decoded *const decoded) | 
| Decode values for all IP headers from extracted bits.  More... | |
| static bool | decomp_rfc5225_ip_decode_bits_ip_hdr (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_rfc5225_ip_bits *const ip_bits, const ip_context_t *const ip_ctxt, const uint16_t decoded_msn, struct rohc_rfc5225_decoded_ip *const ip_decoded) | 
| Decode values for one IP header from extracted bits.  More... | |
| static rohc_status_t | decomp_rfc5225_ip_build_hdrs (const struct rohc_decomp *const decomp, const struct rohc_decomp_ctxt *const context, const rohc_packet_t packet_type, const struct rohc_decomp_crc *const extr_crc, const struct rohc_rfc5225_decoded *const decoded, const size_t payload_len, struct rohc_buf *const uncomp_hdrs, size_t *const uncomp_hdrs_len) | 
| Build the uncompressed headers for the ROHCv2 IP-only profile.  More... | |
| static bool | decomp_rfc5225_ip_build_ip_hdrs (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_rfc5225_decoded *const decoded, struct rohc_buf *const uncomp_pkt, size_t *const ip_hdrs_len) | 
| Build all of the uncompressed IP headers.  More... | |
| static bool | decomp_rfc5225_ip_build_ip_hdr (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_rfc5225_decoded_ip *const decoded, struct rohc_buf *const uncomp_pkt, size_t *const ip_hdr_len) | 
| Build one single uncompressed IP header.  More... | |
| static bool | decomp_rfc5225_ip_build_ipv4_hdr (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_rfc5225_decoded_ip *const decoded, struct rohc_buf *const uncomp_pkt, size_t *const ip_hdr_len) | 
| Build one single uncompressed IPv4 header.  More... | |
| static bool | decomp_rfc5225_ip_build_ipv6_hdr (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_rfc5225_decoded_ip *const decoded, struct rohc_buf *const uncomp_pkt, size_t *const ip_hdr_len) | 
| Build one single uncompressed IPv6 header.  More... | |
| static void | decomp_rfc5225_ip_update_ctxt (struct rohc_decomp_ctxt *const context, const struct rohc_rfc5225_decoded *const decoded, const size_t payload_len, bool *const do_change_mode) | 
| Update the decompression context with the infos of current packet.  More... | |
| static bool | decomp_rfc5225_ip_attempt_repair (const struct rohc_decomp *const decomp, const struct rohc_decomp_ctxt *const context, const struct rohc_ts pkt_arrival_time, struct rohc_decomp_crc_corr_ctxt *const crc_corr, void *const extr_bits) | 
| Attempt a packet/context repair upon CRC failure.  More... | |
| static uint32_t | decomp_rfc5225_ip_get_sn (const struct rohc_decomp_ctxt *const context) | 
| Get the reference SN value of the context.  More... | |
Variables | |
| const struct rohc_decomp_profile | rohc_decomp_rfc5225_ip_profile | 
| Define the decompression part of the ROHCv2 IP-only profile as described in the RFC 5225.  More... | |
ROHC decompression context for the ROHCv2 IP-only profile.
      
  | 
  static | 
Attempt a packet/context repair upon CRC failure.
This function is one of the functions that must exist in one profile for the framework to work.
| decomp | The ROHC decompressor | |
| context | The decompression context | |
| pkt_arrival_time | The arrival time of the ROHC packet that caused the CRC failure | |
| [in,out] | crc_corr | The context for corrections upon CRC failures | 
| [in,out] | extr_bits | The bits extracted from the ROHC header | 
      
  | 
  static | 
Build the uncompressed headers for the ROHCv2 IP-only profile.
This function is one of the functions that must exist in one profile for the framework to work.
| decomp | The ROHC decompressor | |
| context | The decompression context | |
| packet_type | The type of ROHC packet | |
| extr_crc | The CRC bits extracted from the ROHC header | |
| decoded | The values decoded from ROHC header | |
| payload_len | The length of the packet payload (in bytes) | |
| [out] | uncomp_hdrs | The uncompressed headers being built | 
| [out] | uncomp_hdrs_len | The length of the uncompressed headers written into the buffer | 
      
  | 
  static | 
Build one single uncompressed IP header.
Build one single uncompressed IP header - IPv4 or IPv6 - from the context and packet information.
| ctxt | The decompression context | |
| decoded | The values decoded from the ROHC packet | |
| [out] | uncomp_pkt | The uncompressed packet being built | 
| [out] | ip_hdr_len | The length of the IP header (in bytes) | 
      
  | 
  static | 
Build all of the uncompressed IP headers.
Build all of the uncompressed IP headers - IPv4 or IPv6 - from the context and packet information.
| ctxt | The decompression context | |
| decoded | The values decoded from the ROHC packet | |
| [out] | uncomp_pkt | The uncompressed packet being built | 
| [out] | ip_hdrs_len | The length of all the IP headers (in bytes) | 
      
  | 
  static | 
Build one single uncompressed IPv4 header.
Build one single uncompressed IPv4 header from the context and packet information.
| ctxt | The decompression context | |
| decoded | The values decoded from the ROHC packet | |
| [out] | uncomp_pkt | The uncompressed packet being built | 
| [out] | ip_hdr_len | The length of the IPv4 header (in bytes) | 
      
  | 
  static | 
Build one single uncompressed IPv6 header.
Build one single uncompressed IPv6 header - including IPv6 extension headers - from the context and packet information.
| ctxt | The decompression context | |
| decoded | The values decoded from the ROHC packet | |
| [out] | uncomp_pkt | The uncompressed packet being built | 
| [out] | ip_hdr_len | The length of the IPv6 header (in bytes) | 
      
  | 
  static | 
Decode values from extracted bits for the ROHCv2 IP-only profile.
This function is one of the functions that must exist in one profile for the framework to work.
| ctxt | The decompression context | |
| bits | The bits extracted from the ROHC packet | |
| payload_len | The length of the packet payload (in bytes) | |
| [out] | decoded | The corresponding decoded values | 
      
  | 
  static | 
Decode values for one IP header from extracted bits.
| ctxt | The decompression context | |
| ip_bits | The IP bits extracted from the ROHC packet | |
| ip_ctxt | The IP values recorded in context | |
| decoded_msn | The decoded Master Sequence Number (MSN) | |
| [out] | ip_decoded | The corresponding decoded IP values | 
TODO: factorize with TCP profile
      
  | 
  static | 
Decode values for all IP headers from extracted bits.
| ctxt | The decompression context | |
| bits | The bits extracted from the ROHC packet | |
| [out] | decoded | The corresponding decoded values | 
      
  | 
  static | 
Detect the type of ROHC packet for the ROHCv2 IP-only profile.
This function is one of the functions that must exist in one profile for the framework to work.
| context | The decompression context | 
| rohc_packet | The ROHC packet | 
| rohc_length | The length of the ROHC packet | 
| large_cid_len | The length of the optional large CID field | 
      
  | 
  static | 
Destroy profile-specific data, nothing to destroy for the ROHCv2 IP-only profile.
This function is one of the functions that must exist in one profile for the framework to work.
| rfc5225_ctxt | The persistent decompression context for the IP-only profile | 
| volat_ctxt | The volatile part of the decompression context | 
      
  | 
  static | 
Get the reference SN value of the context.
Always return 0 for the ROHCv2 IP-only profile.
This function is one of the functions that must exist in one profile for the framework to work.
| context | The decompression context | 
      
  | 
  static | 
Create the ROHCv2 IP-only volatile and persistent parts of the context.
This function is one of the functions that must exist in one profile for the framework to work.
| context | The decompression context | |
| [out] | persist_ctxt | The persistent part of the decompression context | 
| [out] | volat_ctxt | The volatile part of the decompression context | 
      
  | 
  static | 
Parse CO packet for the ROHCv2 IP-only profile.
| ctxt | The decompression context | |
| rohc_pkt | The ROHC packet to decode | |
| large_cid_len | The length of the optional large CID field | |
| packet_type | The type of the ROHC packet to parse | |
| [out] | extr_crc | The CRC extracted from the ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse one co_common packet for the ROHCv2 IP-only profile.
| ctxt | The decompression context | |
| rohc_pkt | The ROHC packet to decode | |
| rohc_len | The length (in bytes) of the ROHC packet | |
| [out] | extr_crc | The CRC extracted from the ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse one co_repair packet for the ROHCv2 IP-only profile.
| ctxt | The decompression context | |
| rohc_pkt | The ROHC packet to decode | |
| large_cid_len | The length of the optional large CID field | |
| [out] | hdr_crc | The CRC over uncomp headers extracted from ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse the dynamic chain of the IR packet.
| ctxt | The decompression context | |
| rohc_pkt | The remaining part of the ROHC packet | |
| rohc_len | The remaining length (in bytes) of the ROHC packet | |
| [out] | parsed_len | The length (in bytes) of static chain in case of success | 
| [out] | bits | The bits extracted from the dynamic chain | 
      
  | 
  static | 
Decode the dynamic IP header of the ROHC packet.
| ctxt | The decompression context | |
| rohc_pkt | The remaining part of the ROHC packet | |
| rohc_len | The remaining length (in bytes) of the ROHC packet | |
| is_innermost | Whether the IP header is the innermost IP header or not | |
| [out] | bits | The bits extracted from the dynamic chain | 
| [out] | ip_bits | The bits extracted from the IP part of the dynamic chain | 
      
  | 
  static | 
Decode the dynamic IPv4 header of the ROHC packet.
| ctxt | The decompression context | |
| rohc_pkt | The remaining part of the ROHC packet | |
| rohc_len | The remaining length (in bytes) of the ROHC packet | |
| is_innermost | Whether the IP header is the innermost IP header or not | |
| [out] | bits | The bits extracted from the dynamic chain | 
| [out] | ip_bits | The bits extracted from the IP part of the dynamic chain | 
      
  | 
  static | 
Decode the dynamic IPv6 header of the ROHC packet.
| ctxt | The decompression context | |
| rohc_pkt | The remaining part of the ROHC packet | |
| rohc_len | The remaining length (in bytes) of the ROHC packet | |
| is_innermost | Whether the IP header is the innermost IP header or not | |
| [out] | bits | The bits extracted from the dynamic chain | 
| [out] | ip_bits | The bits extracted from the IP part of the dynamic chain | 
      
  | 
  static | 
Parse one IR packet for the ROHCv2 IP-only profile.
| ctxt | The decompression context | |
| rohc_pkt | The ROHC packet to decode | |
| large_cid_len | The length of the optional large CID field | |
| [out] | extr_crc | The CRC extracted from the ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse the irregular chain of the CO packet.
| ctxt | The decompression context | |
| rohc_pkt | The remaining part of the ROHC packet | |
| rohc_len | The remaining length (in bytes) of the ROHC packet | |
| innermost_ip_id_behavior | The behavior of the innermost IP-ID | |
| [out] | parsed_len | The length (in bytes) of irregular chain in case of success | 
| [out] | bits | The bits extracted from the irregular chain | 
      
  | 
  static | 
Decode the irregular IP header of the ROHC packet.
| ctxt | The decompression context | |
| rohc_pkt | The remaining part of the ROHC packet | |
| rohc_len | The remaining length (in bytes) of the ROHC packet | |
| is_innermost | Whether the IP header is the innermost IP header or not | |
| ip_id_behavior | The IP-ID behavior of the IP header (may be different from the context) | |
| outer_ip_flag | Whether the TOS/TC or TTL/HL fields of outer IP headers are present or not | |
| [out] | ip_bits | The bits extracted from the IP part of the irregular chain | 
      
  | 
  static | 
Parse one ROHC packet for the ROHCv2 IP-only profile.
This function is one of the functions that must exist in one profile for the framework to work.
| context | The decompression context | |
| rohc_packet | The ROHC packet to parse | |
| large_cid_len | The length of the optional large CID field | |
| [in,out] | packet_type | IN: The type of the ROHC packet to parse OUT: The type of the parsed ROHC packet | 
| [out] | extr_crc | The CRC bits extracted from the ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse one pt_0_crc3 packet for the ROHCv2 IP-only profile.
| ctxt | The decompression context | |
| rohc_pkt | The ROHC packet to decode | |
| rohc_len | The length (in bytes) of the ROHC packet | |
| [out] | extr_crc | The CRC extracted from the ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse one pt_0_crc7 packet for the ROHCv2 IP-only profile.
| ctxt | The decompression context | |
| rohc_pkt | The ROHC packet to decode | |
| rohc_len | The length (in bytes) of the ROHC packet | |
| [out] | extr_crc | The CRC extracted from the ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse one pt_1_seq_id packet for the ROHCv2 IP-only profile.
| ctxt | The decompression context | |
| rohc_pkt | The ROHC packet to decode | |
| rohc_len | The length (in bytes) of the ROHC packet | |
| [out] | extr_crc | The CRC extracted from the ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse one pt_2_seq_id packet for the ROHCv2 IP-only profile.
| ctxt | The decompression context | |
| rohc_pkt | The ROHC packet to decode | |
| rohc_len | The length (in bytes) of the ROHC packet | |
| [out] | extr_crc | The CRC extracted from the ROHC packet | 
| [out] | bits | The bits extracted from the ROHC packet | 
| [out] | rohc_hdr_len | The length of the ROHC header (in bytes) | 
      
  | 
  static | 
Parse the static chain of the IR packet.
| ctxt | The decompression context | |
| rohc_pkt | The remaining part of the ROHC packet | |
| rohc_len | The remaining length (in bytes) of the ROHC packet | |
| [out] | bits | The bits extracted from the static chain | 
| [out] | parsed_len | The length (in bytes) of static chain in case of success | 
      
  | 
  static | 
Decode the static IP header of the ROHC packet.
| ctxt | The decompression context | |
| rohc_pkt | The remaining part of the ROHC packet | |
| rohc_len | The remaining length (in bytes) of the ROHC packet | |
| [out] | ip_bits | The bits extracted from the IP part of the static chain | 
| [out] | is_innermost | Whether the IP header is the innermost IP header | 
      
  | 
  static | 
Reset the extracted bits for next parsing.
| ctxt | The decompression context | |
| [out] | bits | The extracted bits to reset | 
      
  | 
  static | 
Update the decompression context with the infos of current packet.
This function is one of the functions that must exist in one profile for the framework to work.
| context | The decompression context | |
| decoded | The decoded values to update in the context | |
| payload_len | The length of the packet payload (in bytes) | |
| [out] | do_change_mode | Whether the profile context wants to change its operational mode or not | 
| const struct rohc_decomp_profile rohc_decomp_rfc5225_ip_profile | 
Define the decompression part of the ROHCv2 IP-only profile as described in the RFC 5225.
 1.8.13