ROHC compression/decompression library
|
ROHC decompression context for the ROHCv2 IP/UDP 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_udp_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_udp_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/UDP volatile and persistent parts of the context. More... | |
static void | decomp_rfc5225_ip_udp_free_context (struct rohc_decomp_rfc5225_ip_udp_ctxt *const rfc5225_ctxt, const struct rohc_decomp_volat_ctxt *const volat_ctxt) |
Destroy profile-specific data, nothing to destroy for the ROHCv2 IP/UDP profile. More... | |
static rohc_packet_t | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static void | decomp_rfc5225_ip_udp_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_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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_udp_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 int | decomp_rfc5225_ip_udp_parse_static_udp (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *rohc_pkt, const size_t rohc_len, struct rohc_rfc5225_bits *const bits) |
Parse the UDP static part of the ROHC packet. More... | |
static bool | decomp_rfc5225_ip_udp_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_udp_parse_dyn_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) |
Decode the dynamic IP header of the ROHC packet. More... | |
static int | decomp_rfc5225_ip_udp_parse_dyn_udp (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *rohc_pkt, const size_t rohc_len, struct rohc_rfc5225_bits *const bits) |
Parse the UDP dynamic part of the ROHC packet. More... | |
static bool | decomp_rfc5225_ip_udp_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_udp_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 int | decomp_rfc5225_ip_udp_parse_irreg_udp (const struct rohc_decomp_ctxt *const ctxt, const uint8_t *rohc_pkt, const size_t rohc_len, struct rohc_rfc5225_bits *const bits) |
Parse the UDP dynamic part of the ROHC packet. More... | |
static rohc_status_t | decomp_rfc5225_ip_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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_udp_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_udp_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/UDP profile. More... | |
static bool | decomp_rfc5225_ip_udp_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_udp_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_udp_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_udp_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 bool | decomp_rfc5225_ip_udp_build_udp_hdr (const struct rohc_decomp_ctxt *const ctxt, const struct rohc_rfc5225_decoded *const decoded, const size_t payload_len, struct rohc_buf *const uncomp_pkt, size_t *const udp_hdr_len) |
Build the uncompressed UDP header. More... | |
static void | decomp_rfc5225_ip_udp_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_udp_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_udp_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_udp_profile |
Define the decompression part of the ROHCv2 IP/UDP profile as described in the RFC 5225. More... | |
ROHC decompression context for the ROHCv2 IP/UDP 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/UDP 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 |
Build the uncompressed UDP header.
Build the uncompressed UDP header from the context and packet information.
ctxt | The decompression context | |
decoded | The values decoded from the ROHC packet | |
payload_len | The length (in bytes) of the payload | |
[out] | uncomp_pkt | The uncompressed packet being built |
[out] | udp_hdr_len | The length of the UDP header (in bytes) |
|
static |
Decode values from extracted bits for the ROHCv2 IP/UDP 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/UDP 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/UDP 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/UDP 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/UDP 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/UDP 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/UDP 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/UDP 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/UDP 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 | |
[out] | ip_bits | The bits extracted from the IP part of the dynamic chain |
|
static |
Parse the UDP dynamic part of the ROHC packet.
ctxt | The decompression context |
rohc_pkt | The ROHC packet to decode |
rohc_len | The length of the ROHC packet |
bits | OUT: The bits extracted from the ROHC header |
|
static |
Parse one IR packet for the ROHCv2 IP/UDP 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 the UDP dynamic part of the ROHC packet.
ctxt | The decompression context |
rohc_pkt | The ROHC packet to decode |
rohc_len | The length of the ROHC packet |
bits | OUT: The bits extracted from the ROHC header |
|
static |
Parse one ROHC packet for the ROHCv2 IP/UDP 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/UDP 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/UDP 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/UDP 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/UDP 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 |
Parse the UDP static part of the ROHC packet.
ctxt | The decompression context |
rohc_pkt | The ROHC packet to decode |
rohc_len | The length of the ROHC packet |
bits | OUT: The bits extracted from the ROHC 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_udp_profile |
Define the decompression part of the ROHCv2 IP/UDP profile as described in the RFC 5225.