ROHC compression/decompression library
Data Fields
rohc_comp_profile Struct Reference

The ROHC compression profile. More...

#include <rohc_comp_internals.h>

Data Fields

const rohc_profile_t id
 
bool(* create )(struct rohc_comp_ctxt *const context, const struct rohc_pkt_hdrs *const uncomp_pkt_hdrs)
 The handler used to create the profile-specific part of the compression context from a given packet. More...
 
bool(* clone )(struct rohc_comp_ctxt *const ctxt, const struct rohc_comp_ctxt *const base_ctxt)
 The handler used to create the profile-specific part of the compression context from a given context. More...
 
void(* destroy )(struct rohc_comp_ctxt *const context)
 The handler used to destroy the profile-specific part of the compression context. More...
 
bool(* is_cr_possible )(const struct rohc_comp_ctxt *const ctxt, const struct rohc_pkt_hdrs *const pkt_hdrs)
 The handler used to check whether Context Replication is possible. More...
 
int(* encode )(struct rohc_comp_ctxt *const context, const struct rohc_pkt_hdrs *const uncomp_pkt_hdrs, uint8_t *const rohc_pkt, const size_t rohc_pkt_max_len, rohc_packet_t *const packet_type)
 The handler used to encode uncompressed IP packets. More...
 
bool(* feedback )(struct rohc_comp_ctxt *const context, const enum rohc_feedback_type feedback_type, const uint8_t *const packet, const size_t packet_len, const uint8_t *const feedback_data, const size_t feedback_data_len)
 The handler used to warn the profile-specific part of the context about the arrival of feedback data. More...
 

Detailed Description

The ROHC compression profile.

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

Field Documentation

◆ clone

bool(* rohc_comp_profile::clone) (struct rohc_comp_ctxt *const ctxt, const struct rohc_comp_ctxt *const base_ctxt)

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

◆ create

bool(* rohc_comp_profile::create) (struct rohc_comp_ctxt *const context, const struct rohc_pkt_hdrs *const uncomp_pkt_hdrs)

The handler used to create the profile-specific part of the compression context from a given packet.

Parameters
contextThe compression context
uncomp_pkt_hdrsThe uncompressed headers to initialize the new context
Returns
true if successful, false otherwise

◆ destroy

void(* rohc_comp_profile::destroy) (struct rohc_comp_ctxt *const context)

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

◆ encode

int(* rohc_comp_profile::encode) (struct rohc_comp_ctxt *const context, const struct rohc_pkt_hdrs *const uncomp_pkt_hdrs, uint8_t *const rohc_pkt, const size_t rohc_pkt_max_len, rohc_packet_t *const packet_type)

The handler used to encode uncompressed IP packets.

Parameters
contextThe compression context
uncomp_pkt_hdrsThe uncompressed headers to encode
rohc_pktOUT: The ROHC packet
rohc_pkt_max_lenThe maximum length of the ROHC packet
packet_typeOUT: The type of ROHC packet that is created
Returns
The length of the ROHC packet if successful, -1 otherwise

◆ feedback

bool(* rohc_comp_profile::feedback) (struct rohc_comp_ctxt *const context, const enum rohc_feedback_type feedback_type, const uint8_t *const packet, const size_t packet_len, const uint8_t *const feedback_data, const size_t feedback_data_len)

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

◆ id

const rohc_profile_t rohc_comp_profile::id

The profile ID as reserved by IANA

◆ is_cr_possible

bool(* rohc_comp_profile::is_cr_possible) (const struct rohc_comp_ctxt *const ctxt, const struct rohc_pkt_hdrs *const pkt_hdrs)

The handler used to check whether Context Replication is possible.


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