ROHC compression/decompression library
|
ROHC decompression routines. More...
Go to the source code of this file.
Data Structures | |
struct | d_statistics |
Some compressor statistics. More... | |
struct | rohc_decomp |
The ROHC decompressor. More... | |
struct | d_context |
The ROHC decompression context. More... | |
struct | d_profile |
The ROHC decompression profile. More... | |
Defines | |
#define | D_NUM_PROFILES 6 |
The number of ROHC profiles ready to be used. | |
Enumerations | |
enum | rohc_d_state { NO_CONTEXT = 1, STATIC_CONTEXT = 2, FULL_CONTEXT = 3 } |
ROHC decompressor states (see 4.3.2 in the RFC 3095) More... | |
Functions | |
struct rohc_decomp * | rohc_alloc_decompressor (struct rohc_comp *compressor) |
Create one ROHC decompressor. | |
void | rohc_free_decompressor (struct rohc_decomp *decomp) |
Destroy one ROHC decompressor. | |
int | rohc_decompress (struct rohc_decomp *decomp, unsigned char *ibuf, int isize, unsigned char *obuf, int osize) |
Decompress a ROHC packet. | |
int | rohc_decompress_both (struct rohc_decomp *decomp, unsigned char *ibuf, int isize, unsigned char *obuf, int osize, int large) ROHC_DEPRECATED("please do not use this function anymore |
int use | rohc_decomp_set_cid_type () and rohc_decomp_set_max_cid()" "instead") |
struct d_context * | find_context (struct rohc_decomp *decomp, int cid) |
Find one decompression context thanks to its CID. | |
struct d_context * | context_create (struct rohc_decomp *decomp, int with_cid, struct d_profile *profile) |
Create one new decompression context with profile specific data. | |
void | context_free (struct d_context *context) |
Destroy one decompression context and the profile specific data associated with it. | |
void | d_change_mode_feedback (struct rohc_decomp *decomp, struct d_context *context) |
Create a feedback ACK packet telling the compressor to change state. | |
int | rohc_d_statistics (struct rohc_decomp *decomp, unsigned int indent, char *buffer) |
Output the decompression statistics of one decompressor to a buffer. The buffer must be large enough to store all the statistics. | |
int | rohc_d_context (struct rohc_decomp *decomp, int index, unsigned int indent, char *buffer) |
Output the statistics of one decompression context to a buffer. | |
void | clear_statistics (struct rohc_decomp *decomp) |
Clear all the statistics. | |
const char * | rohc_decomp_get_state_descr (const rohc_d_state state) |
Give a description for the given ROHC decompression context state. | |
void | user_interactions (struct rohc_decomp *decomp, int feedback_maxval) |
Update feedback interval by the user. | |
bool | rohc_decomp_set_cid_type (struct rohc_decomp *const decomp, const rohc_cid_type_t cid_type) __attribute__((nonnull(1) |
bool | rohc_decomp_set_max_cid (struct rohc_decomp *const decomp, const size_t max_cid) __attribute__((nonnull(1) |
Variables | |
bool | warn_unused_result |
ROHC decompression routines.
#define D_NUM_PROFILES 6 |
The number of ROHC profiles ready to be used.
Referenced by rohc_d_statistics().
enum rohc_d_state |
struct d_context* context_create | ( | struct rohc_decomp * | decomp, |
int | with_cid, | ||
struct d_profile * | profile | ||
) | [read] |
Create one new decompression context with profile specific data.
decomp | The ROHC decompressor |
with_cid | The CID of the new context (not implemented) |
profile | The profile to be assigned with the new context |
References d_profile::allocate_decode_data, c_create_wlsb(), c_destroy_wlsb(), d_context::curval, d_context::first_used, d_profile::free_decode_data, d_context::header_16_compressed, d_context::header_16_uncompressed, d_context::header_compressed_size, d_context::header_uncompressed_size, d_context::latest_used, d_context::mode, NO_CONTEXT, d_context::num_decomp_failures, d_context::num_decomp_repairs, d_context::num_recv_ir, d_context::num_recv_ir_dyn, d_context::num_recv_packets, d_context::num_sent_feedbacks, d_context::profile, rohc_debugf, ROHC_LSB_SHIFT_STATS, d_context::specific, d_context::state, d_context::total_16_compressed, d_context::total_16_uncompressed, d_context::total_compressed_size, d_context::total_uncompressed_size, U_MODE, and zfree.
Referenced by d_decode_header().
void context_free | ( | struct d_context * | context | ) |
Destroy one decompression context and the profile specific data associated with it.
context | The context to destroy |
References c_destroy_wlsb(), d_profile::free_decode_data, d_context::header_16_compressed, d_context::header_16_uncompressed, d_context::profile, d_context::specific, d_context::total_16_compressed, and d_context::total_16_uncompressed.
Referenced by d_decode_header(), and rohc_free_decompressor().
struct d_context* find_context | ( | struct rohc_decomp * | decomp, |
int | cid | ||
) | [read] |
Find one decompression context thanks to its CID.
decomp | The ROHC decompressor |
cid | The CID of the context to find out |
References rohc_decomp::contexts, and medium::max_cid.
Referenced by d_decode_header().
int rohc_d_context | ( | struct rohc_decomp * | decomp, |
int | index, | ||
unsigned int | indent, | ||
char * | buffer | ||
) |
Output the statistics of one decompression context to a buffer.
The buffer must be large enough to store the statistics of one context.
decomp | The ROHC decompressor |
index | The index of the decompression context in the contexts array |
indent | The level of indentation to add during output |
buffer | The buffer where to outputs the statistics |
References c_mean_wlsb(), c_sum_wlsb(), rohc_decomp::contexts, d_profile::description, d_context::first_used, d_context::header_16_compressed, d_context::header_16_uncompressed, d_context::header_compressed_size, d_context::header_uncompressed_size, d_context::latest_used, medium::max_cid, rohc_decomp::medium, d_context::mode, d_context::num_decomp_failures, d_context::num_decomp_repairs, d_context::num_recv_ir, d_context::num_recv_ir_dyn, d_context::num_recv_packets, d_context::num_sent_feedbacks, d_context::profile, rohc_decomp_get_state_descr(), rohc_get_mode_descr(), d_context::state, d_context::total_16_compressed, d_context::total_16_uncompressed, d_context::total_compressed_size, and d_context::total_uncompressed_size.
Referenced by rohc_d_statistics().
int use rohc_decomp_set_cid_type | ( | ) |
bool rohc_decomp_set_cid_type | ( | struct rohc_decomp *const | decomp, |
const rohc_cid_type_t | cid_type | ||
) |
bool rohc_decomp_set_max_cid | ( | struct rohc_decomp *const | decomp, |
const size_t | max_cid | ||
) |
int rohc_decompress_both | ( | struct rohc_decomp * | decomp, |
unsigned char * | ibuf, | ||
int | isize, | ||
unsigned char * | obuf, | ||
int | osize, | ||
int | large | ||
) |
bool warn_unused_result |