ROHC compression/decompression library
|
Library of decoding methods from RFC4997 and RFC4996. More...
Go to the source code of this file.
Functions | |
int | d_static_or_irreg8 (const uint8_t *const rohc_data, const size_t rohc_len, const int indicator, struct rohc_lsb_field8 *const lsb) |
Decompress the 8-bit given value, according to the indicator. More... | |
int | d_static_or_irreg16 (const uint8_t *const rohc_data, const size_t rohc_len, const int indicator, struct rohc_lsb_field16 *const lsb) |
Decompress the 16-bit given value, according to the indicator. More... | |
int | variable_length_32_dec (const uint8_t *const rohc_data, const size_t rohc_len, const int indicator, struct rohc_lsb_field32 *const lsb) |
Decode the 32 bits value, according to the indicator. More... | |
unsigned int | rsf_index_dec (const unsigned int rsf_index) |
Calculate the rsf flags from the rsf index. More... | |
bool | d_ip_id_lsb (const struct rohc_decomp_ctxt *const context, const struct rohc_lsb_decode *const ip_id_lsb_ctxt, const uint16_t msn, const uint32_t ip_id_bits, const size_t ip_id_bits_nr, const rohc_lsb_shift_t p, uint16_t *const ip_id) |
Decompress the lower bits of IP-ID. More... | |
int | d_optional_ip_id_lsb (const struct rohc_decomp_ctxt *const context, const uint8_t *const rohc_data, const size_t data_len, const int behavior, const int indicator, struct rohc_lsb_field16 *const lsb) |
Decompress the IP-ID. More... | |
Library of decoding methods from RFC4997 and RFC4996.
bool d_ip_id_lsb | ( | const struct rohc_decomp_ctxt *const | context, |
const struct rohc_lsb_decode *const | ip_id_lsb_ctxt, | ||
const uint16_t | msn, | ||
const uint32_t | ip_id_bits, | ||
const size_t | ip_id_bits_nr, | ||
const rohc_lsb_shift_t | p, | ||
uint16_t *const | ip_id | ||
) |
Decompress the lower bits of IP-ID.
See RFC4996 page 75
context | The decompression context | |
ip_id_lsb_ctxt | The LSB decoding context for the IP-ID offset | |
msn | The Master Sequence Number | |
ip_id_bits | The received IP-ID offset bits to decode | |
ip_id_bits_nr | The number of received IP-ID offset bits to decode | |
p | The offset parameter p to use for LSB decoding | |
[out] | ip_id | The decoded IP-ID value |
int d_optional_ip_id_lsb | ( | const struct rohc_decomp_ctxt *const | context, |
const uint8_t *const | rohc_data, | ||
const size_t | data_len, | ||
const int | behavior, | ||
const int | indicator, | ||
struct rohc_lsb_field16 *const | lsb | ||
) |
Decompress the IP-ID.
See RFC4996 page 76
context | The decompression context | |
rohc_data | The ROHC data to parse | |
data_len | The length of the ROHC data to parse (in bytes) | |
behavior | The IP-ID behavior | |
indicator | The compression indicator | |
[out] | lsb | The LSB bits extracted from the ROHC packet |
int d_static_or_irreg16 | ( | const uint8_t *const | rohc_data, |
const size_t | rohc_len, | ||
const int | indicator, | ||
struct rohc_lsb_field16 *const | lsb | ||
) |
Decompress the 16-bit given value, according to the indicator.
rohc_data | The ROHC data to parse | |
rohc_len | The length of the ROHC data to parse (in bytes) | |
indicator | The indicator of compression | |
[out] | lsb | The LSB bits extracted from the ROHC packet |
int d_static_or_irreg8 | ( | const uint8_t *const | rohc_data, |
const size_t | rohc_len, | ||
const int | indicator, | ||
struct rohc_lsb_field8 *const | lsb | ||
) |
Decompress the 8-bit given value, according to the indicator.
rohc_data | The ROHC data to parse | |
rohc_len | The length of the ROHC data to parse (in bytes) | |
indicator | The indicator of compression | |
[out] | lsb | The LSB bits extracted from the ROHC packet |
unsigned int rsf_index_dec | ( | const unsigned int | rsf_index | ) |
Calculate the rsf flags from the rsf index.
See RFC4996 page 71
rsf_index | The rsf index |
int variable_length_32_dec | ( | const uint8_t *const | rohc_data, |
const size_t | rohc_len, | ||
const int | indicator, | ||
struct rohc_lsb_field32 *const | lsb | ||
) |
Decode the 32 bits value, according to the indicator.
See RFC4996 page 46
rohc_data | The ROHC data to parse | |
rohc_len | The length of the ROHC data to parse (in bytes) | |
indicator | The indicator of compression | |
[out] | lsb | The LSB bits extracted from the ROHC packet |