rohc_decomp_internals.h File Reference

Internal structures for ROHC decompression. More...

#include "rohc_internal.h"
#include "rohc_decomp.h"
#include "rohc_traces_internal.h"
#include "feedback_create.h"
#include "crc.h"
Include dependency graph for rohc_decomp_internals.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  d_statistics
 Some compressor statistics. More...
struct  rohc_ack_rate_limit
 The user configuration for feedback rate-limiting. More...
struct  rohc_ack_rate_limits
struct  rohc_ack_stats
struct  rohc_decomp
 The ROHC decompressor. More...
struct  rohc_decomp_crc_corr_ctxt
struct  rohc_decomp_crc
struct  rohc_decomp_volat_ctxt
 The volatile part of the ROHC decompression context. More...
struct  rohc_decomp_ctxt
 The ROHC decompression context. More...
struct  rohc_decomp_profile
 The ROHC decompression profile. More...

Defines

#define D_NUM_PROFILES   7U
#define rohc_decomp_warn(context, format,...)
#define rohc_decomp_debug(context, format,...)
#define rohc_decomp_dump_buf(context, descr, buf, buf_len)
#define ROHC_MAX_MRRU   65535
#define ROHC_MAX_ARRIVAL_TIMES   10U

Typedefs

typedef bool(* rohc_decomp_new_context_t )(const struct rohc_decomp_ctxt *const context, void **const persist_ctxt, struct rohc_decomp_volat_ctxt *const volat_ctxt)
typedef void(* rohc_decomp_free_context_t )(void *const persist_ctxt, const struct rohc_decomp_volat_ctxt *const volat_ctxt)
typedef rohc_packet_t(* rohc_decomp_detect_pkt_type_t )(const struct rohc_decomp_ctxt *const context, const uint8_t *const rohc_packet, const size_t rohc_length, const size_t large_cid_len)
typedef bool(* rohc_decomp_parse_pkt_t )(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, void *const extr_bits, size_t *const rohc_hdr_len)
typedef bool(* rohc_decomp_decode_bits_t )(const struct rohc_decomp_ctxt *const context, const void *const extr_bits, const size_t payload_len, void *const decoded_values)
typedef rohc_status_t(* rohc_decomp_build_hdrs_t )(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 void *const decoded_values, const size_t payload_len, struct rohc_buf *const uncomp_hdrs, size_t *const uncomp_hdrs_len)
typedef void(* rohc_decomp_update_ctxt_t )(struct rohc_decomp_ctxt *const context, const void *const decoded_values, const size_t payload_len, bool *const do_change_mode)
typedef bool(* rohc_decomp_attempt_repair_t )(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)
typedef uint32_t(* rohc_decomp_get_sn_t )(const struct rohc_decomp_ctxt *const context)

Enumerations

enum  rohc_decomp_crc_corr_t { ROHC_DECOMP_CRC_CORR_SN_NONE = 0, ROHC_DECOMP_CRC_CORR_SN_WRAP = 1, ROHC_DECOMP_CRC_CORR_SN_UPDATES = 2 }
 

The different correction algorithms available in case of CRC failure.

More...

Detailed Description

Internal structures for ROHC decompression.

Author:
Didier Barvaux <didier.barvaux@toulouse.viveris.com>
Didier Barvaux <didier@barvaux.org>
David Moreau from TAS

Define Documentation

#define D_NUM_PROFILES   7U

The number of ROHC profiles ready to be used

#define rohc_decomp_debug ( context,
format,
...   ) 
Value:
rohc_debug((context)->decompressor, ROHC_TRACE_DECOMP, \
                   (context)->profile->id, \
                   format, ##__VA_ARGS__)

Print a debug trace for the given decompression context

#define rohc_decomp_dump_buf ( context,
descr,
buf,
buf_len   ) 
Value:
do { \
                if(((context)->decompressor->features & ROHC_DECOMP_FEATURE_DUMP_PACKETS) != 0) { \
                        rohc_dump_buf((context)->decompressor->trace_callback, \
                                      (context)->decompressor->trace_callback_priv, \
                                      ROHC_TRACE_DECOMP, ROHC_TRACE_DEBUG, \
                                      descr, buf, buf_len); \
                } \
        } while(0)

Dump a buffer for the given compression context

#define rohc_decomp_warn ( context,
format,
...   ) 
Value:
rohc_warning((context)->decompressor, ROHC_TRACE_DECOMP, \
                     (context)->profile->id, \
                     format, ##__VA_ARGS__)

Print a warning trace for the given decompression context

#define ROHC_MAX_ARRIVAL_TIMES   10U

The number of last packets to record arrival times for

#define ROHC_MAX_MRRU   65535

The maximal value for MRRU


Typedef Documentation

typedef bool(* rohc_decomp_attempt_repair_t)(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)
typedef rohc_status_t(* rohc_decomp_build_hdrs_t)(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 void *const decoded_values, const size_t payload_len, struct rohc_buf *const uncomp_hdrs, size_t *const uncomp_hdrs_len)
typedef bool(* rohc_decomp_decode_bits_t)(const struct rohc_decomp_ctxt *const context, const void *const extr_bits, const size_t payload_len, void *const decoded_values)
typedef rohc_packet_t(* rohc_decomp_detect_pkt_type_t)(const struct rohc_decomp_ctxt *const context, const uint8_t *const rohc_packet, const size_t rohc_length, const size_t large_cid_len)
typedef void(* rohc_decomp_free_context_t)(void *const persist_ctxt, const struct rohc_decomp_volat_ctxt *const volat_ctxt)
typedef uint32_t(* rohc_decomp_get_sn_t)(const struct rohc_decomp_ctxt *const context)
typedef bool(* rohc_decomp_new_context_t)(const struct rohc_decomp_ctxt *const context, void **const persist_ctxt, struct rohc_decomp_volat_ctxt *const volat_ctxt)
typedef bool(* rohc_decomp_parse_pkt_t)(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, void *const extr_bits, size_t *const rohc_hdr_len)
typedef void(* rohc_decomp_update_ctxt_t)(struct rohc_decomp_ctxt *const context, const void *const decoded_values, const size_t payload_len, bool *const do_change_mode)

Enumeration Type Documentation

The different correction algorithms available in case of CRC failure.

Enumerator:
ROHC_DECOMP_CRC_CORR_SN_NONE 

No correction

ROHC_DECOMP_CRC_CORR_SN_WRAP 

Correction of SN wraparound

ROHC_DECOMP_CRC_CORR_SN_UPDATES 

Correction of incorrect SN updates


Generated on 4 Jul 2018 for ROHC compression/decompression library by  doxygen 1.6.1