ROHC compression/decompression library
Data Structures | Macros | Typedefs | Enumerations | Functions
rohc_comp.h File Reference

ROHC compression routines. More...

#include <rohc/rohc.h>
#include <rohc/rohc_packets.h>
#include <rohc/rohc_traces.h>
#include <rohc/rohc_time.h>
#include <rohc/rohc_buf.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
Include dependency graph for rohc_comp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rohc_comp_last_packet_info2_t
 Some information about the last compressed packet. More...
 
struct  rohc_comp_general_info_t
 Some general information about the compressor. More...
 

Macros

#define ROHC_EXPORT
 

Typedefs

typedef bool(* rohc_rtp_detection_callback_t) (const unsigned char *const ip, const unsigned char *const udp, const unsigned char *const payload, const unsigned int payload_size, void *const rtp_private)
 The prototype of the RTP detection callback. More...
 
typedef int(* rohc_comp_random_cb_t) (const struct rohc_comp *const comp, void *const user_context)
 The prototype of the callback for random numbers. More...
 

Enumerations

enum  rohc_comp_state_t {
  ROHC_COMP_STATE_UNKNOWN = 0, ROHC_COMP_STATE_IR = 1, ROHC_COMP_STATE_FO = 2, ROHC_COMP_STATE_SO = 3,
  ROHC_COMP_STATE_CR = 4
}
 The different ROHC compressor states. More...
 
enum  rohc_comp_features_t {
  ROHC_COMP_FEATURE_NONE = 0, ROHC_COMP_FEATURE_COMPAT_1_6_x = (1 << 0), ROHC_COMP_FEATURE_NO_IP_CHECKSUMS = (1 << 2), ROHC_COMP_FEATURE_DUMP_PACKETS = (1 << 3),
  ROHC_COMP_FEATURE_TIME_BASED_REFRESHES = (1 << 4)
}
 The different features of the ROHC compressor. More...
 

Functions

struct rohc_comp *ROHC_EXPORT rohc_comp_new2 (const rohc_cid_type_t cid_type, const rohc_cid_t max_cid, const rohc_comp_random_cb_t rand_cb, void *const rand_priv)
 Create a new ROHC compressor. More...
 
void ROHC_EXPORT rohc_comp_free (struct rohc_comp *const comp)
 Destroy the given ROHC compressor. More...
 
bool ROHC_EXPORT rohc_comp_set_traces_cb2 (struct rohc_comp *const comp, rohc_trace_callback2_t callback, void *const priv_ctxt)
 Set the callback function used to manage traces in compressor. More...
 
rohc_status_t ROHC_EXPORT rohc_compress4 (struct rohc_comp *const comp, const struct rohc_buf uncomp_packet, struct rohc_buf *const rohc_packet)
 Compress the given uncompressed packet into a ROHC packet. More...
 
rohc_status_t ROHC_EXPORT rohc_comp_pad (struct rohc_comp *const comp, struct rohc_buf *const rohc_packet, const size_t min_pkt_len)
 Pad the given ROHC compressed packet. More...
 
rohc_status_t ROHC_EXPORT rohc_comp_get_segment2 (struct rohc_comp *const comp, struct rohc_buf *const segment)
 Get the next ROHC segment if any. More...
 
bool ROHC_EXPORT rohc_comp_force_contexts_reinit (struct rohc_comp *const comp)
 Force the compressor to re-initialize all its contexts. More...
 
bool ROHC_EXPORT rohc_comp_profile_enabled (const struct rohc_comp *const comp, const rohc_profile_t profile)
 Is the given compression profile enabled for a compressor? More...
 
bool ROHC_EXPORT rohc_comp_enable_profile (struct rohc_comp *const comp, const rohc_profile_t profile)
 Enable a compression profile for a compressor. More...
 
bool ROHC_EXPORT rohc_comp_disable_profile (struct rohc_comp *const comp, const rohc_profile_t profile)
 Disable a compression profile for a compressor. More...
 
bool ROHC_EXPORT rohc_comp_enable_profiles (struct rohc_comp *const comp,...)
 Enable several compression profiles for a compressor. More...
 
bool ROHC_EXPORT rohc_comp_disable_profiles (struct rohc_comp *const comp,...)
 Disable several compression profiles for a compressor. More...
 
bool ROHC_EXPORT rohc_comp_set_mrru (struct rohc_comp *const comp, const size_t mrru)
 Set the Maximum Reconstructed Reception Unit (MRRU). More...
 
bool ROHC_EXPORT rohc_comp_get_mrru (const struct rohc_comp *const comp, size_t *const mrru)
 Get the Maximum Reconstructed Reception Unit (MRRU). More...
 
bool ROHC_EXPORT rohc_comp_get_max_cid (const struct rohc_comp *const comp, size_t *const max_cid)
 Get the maximal CID value the compressor uses. More...
 
bool ROHC_EXPORT rohc_comp_get_cid_type (const struct rohc_comp *const comp, rohc_cid_type_t *const cid_type)
 Get the CID type that the compressor uses. More...
 
bool ROHC_EXPORT rohc_comp_set_rtp_detection_cb (struct rohc_comp *const comp, rohc_rtp_detection_callback_t callback, void *const rtp_private)
 Set the RTP detection callback function. More...
 
bool ROHC_EXPORT rohc_comp_set_features (struct rohc_comp *const comp, const rohc_comp_features_t features)
 Enable/disable features for ROHC compressor. More...
 
bool ROHC_EXPORT rohc_comp_deliver_feedback2 (struct rohc_comp *const comp, const struct rohc_buf feedback)
 Deliver a feedback packet to the compressor. More...
 
bool ROHC_EXPORT rohc_comp_set_wlsb_window_width (struct rohc_comp *const comp, const size_t width)
 Set the window width for the W-LSB encoding scheme. More...
 
bool ROHC_EXPORT rohc_comp_set_periodic_refreshes (struct rohc_comp *const comp, const size_t ir_timeout, const size_t fo_timeout)
 Set the timeouts in packets for IR and FO periodic refreshes. More...
 
bool ROHC_EXPORT rohc_comp_set_periodic_refreshes_time (struct rohc_comp *const comp, const uint64_t ir_timeout, const uint64_t fo_timeout)
 Set the timeouts in ms for IR and FO periodic refreshes. More...
 
bool ROHC_EXPORT rohc_comp_set_list_trans_nr (struct rohc_comp *const comp, const size_t list_trans_nr)
 Set the number of uncompressed transmissions for list compression. More...
 
bool ROHC_EXPORT rohc_comp_get_general_info (const struct rohc_comp *const comp, rohc_comp_general_info_t *const info)
 Get some general information about the compressor. More...
 
bool ROHC_EXPORT rohc_comp_get_last_packet_info2 (const struct rohc_comp *const comp, rohc_comp_last_packet_info2_t *const info)
 Get some information about the last compressed packet. More...
 
const char *ROHC_EXPORT rohc_comp_get_state_descr (const rohc_comp_state_t state)
 Give a description for the given ROHC compression context state. More...
 

Detailed Description

ROHC compression routines.

Author
Didier Barvaux didie.nosp@m.r.ba.nosp@m.rvaux.nosp@m.@tou.nosp@m.louse.nosp@m..viv.nosp@m.eris..nosp@m.com
Didier Barvaux didie.nosp@m.r@ba.nosp@m.rvaux.nosp@m..org

Macro Definition Documentation

◆ ROHC_EXPORT

#define ROHC_EXPORT

Macro that handles DLL export declarations gracefully