ROHC compression/decompression library
Data Fields
c_profile Struct Reference

The ROHC compression profile. More...

#include <rohc_comp_internals.h>

Data Fields

const unsigned short protocol
 The IP protocol ID used to find out which profile is able to compress an IP packet.
const unsigned short id
const char * description
int(* create )(struct c_context *const context, const struct ip_packet *packet)
 The handler used to create the profile-specific part of the compression context.
void(* destroy )(struct c_context *const context)
 The handler used to destroy the profile-specific part of the compression context.
bool(* check_profile )(const struct rohc_comp *const comp, const struct ip_packet *const outer_ip, const struct ip_packet *const inner_ip, const uint8_t protocol, rohc_ctxt_key_t *const ctxt_key)
 The handler used to check whether an uncompressed IP packet fits the current profile or not.
bool(* check_context )(const struct c_context *context, const struct ip_packet *packet)
 The handler used to check whether an uncompressed IP packet belongs to a context or not.
int(* encode )(struct c_context *const context, const struct ip_packet *packet, const size_t packet_size, unsigned char *const dest, const size_t dest_size, rohc_packet_t *const packet_type, int *const payload_offset)
 The handler used to encode uncompressed IP packets.
bool(* reinit_context )(struct c_context *const context) __attribute__((nonnull(1)
 The handler used to re-initialize a context.
bool(* warn_unused_result )
void(* feedback )(struct c_context *const context, const struct c_feedback *feedback)
 The handler used to warn the profile-specific part of the context about the arrival of feedback data.
bool(* use_udp_port )(const struct c_context *const context, const unsigned int port)
 The handler used to detect if a UDP port is used by the profile.

Detailed Description

The ROHC compression profile.

The object defines a ROHC profile. Each field must be filled in for each new profile.


Field Documentation

bool(* c_profile::check_context)(const struct c_context *context, const struct ip_packet *packet)

The handler used to check whether an uncompressed IP packet belongs to a context or not.

bool(* c_profile::check_profile)(const struct rohc_comp *const comp, const struct ip_packet *const outer_ip, const struct ip_packet *const inner_ip, const uint8_t protocol, rohc_ctxt_key_t *const ctxt_key)

The handler used to check whether an uncompressed IP packet fits the current profile or not.

int(* c_profile::create)(struct c_context *const context, const struct ip_packet *packet)

The handler used to create the profile-specific part of the compression context.

A string that describes the profile

Referenced by rohc_c_statistics(), and rohc_compress2().

void(* c_profile::destroy)(struct c_context *const context)

The handler used to destroy the profile-specific part of the compression context.

Referenced by rohc_comp_remove_rtp_port(), and rohc_compress2().

int(* c_profile::encode)(struct c_context *const context, const struct ip_packet *packet, const size_t packet_size, unsigned char *const dest, const size_t dest_size, rohc_packet_t *const packet_type, int *const payload_offset)

The handler used to encode uncompressed IP packets.

Referenced by rohc_compress2().

void(* c_profile::feedback)(struct c_context *const context, const struct c_feedback *feedback)

The handler used to warn the profile-specific part of the context about the arrival of feedback data.

Referenced by c_deliver_feedback().

const unsigned short c_profile::id
const unsigned short c_profile::protocol

The IP protocol ID used to find out which profile is able to compress an IP packet.

bool(* c_profile::reinit_context)(struct c_context *const context) __attribute__((nonnull(1)

The handler used to re-initialize a context.

Referenced by rohc_comp_force_contexts_reinit().

bool(* c_profile::use_udp_port)(const struct c_context *const context, const unsigned int port)

The handler used to detect if a UDP port is used by the profile.

Referenced by rohc_comp_remove_rtp_port().


The documentation for this struct was generated from the following file: