ROHC compression/decompression library
Data Fields
c_generic_context Struct Reference

The generic compression context. More...

#include <c_generic.h>

Collaboration diagram for c_generic_context:
Collaboration graph
[legend]

Data Fields

unsigned int sn
 The Sequence Number (SN)
struct c_wlsbsn_window
 A window used to encode the SN.
int ir_count
 The number of packets sent while in Initialization & Refresh (IR) state.
int fo_count
 The number of packets sent while in First Order (FO) state.
int so_count
 The number of packets sent while in Second Order (SO) state.
int go_back_fo_count
 The number of packet sent while in SO state, used for the periodic refreshes of the context.
int go_back_ir_count
 The number of packet sent while in FO or SO state, used for the periodic refreshes of the context.
int ir_dyn_count
 The minimal number of IR-DYN packets the compressor must sent before sending UO* packets.
struct ip_header_info ip_flags
 Information about the outer IP header.
struct ip_header_info ip2_flags
 Information about the inner IP header.
int is_ip2_initialized
 Whether the ip2_flags object is initialized or not.
struct generic_tmp_vars tmp
 Temporary variables that are used during one single compression of packet.
unsigned int next_header_proto
 The protocol number registered by IANA for the next header protocol.
unsigned int next_header_len
 The length of the next header.
void(* decide_state )(struct c_context *const context)
 The handler used to decide the state that should be used for the next packet.
void(* init_at_IR )(const struct c_context *context, const unsigned char *next_header)
 The handler used to initialize some data just before the IR packet build.
int(* code_static_part )(const struct c_context *context, const unsigned char *next_header, unsigned char *const dest, int counter)
 The handler used to add the static part of the next header to the ROHC packet.
int(* code_dynamic_part )(const struct c_context *context, const unsigned char *next_header, unsigned char *const dest, int counter)
 The handler used to add the dynamic part of the next header to the ROHC pachet.
int(* code_UO_packet_head )(const struct c_context *context, const unsigned char *next_header, unsigned char *const dest, int counter, int *const first_position)
 The handler used to add an additional header in the head of the UO-0, UO-1 and UO-2 packets.
int(* code_UO_packet_tail )(const struct c_context *context, const unsigned char *next_header, unsigned char *const dest, int counter)
 The handler used to add an additional header in the tail of the UO-0, UO-1 and UO-2 packets.
unsigned int(* compute_crc_static )(const unsigned char *const ip, const unsigned char *const ip2, const unsigned char *const next_header, const unsigned int crc_type, const unsigned int init_val, const unsigned char *const crc_table)
 The handler used to compute the CRC-STATIC value.
unsigned int(* compute_crc_dynamic )(const unsigned char *const ip, const unsigned char *const ip2, const unsigned char *const next_header, const unsigned int crc_type, const unsigned int init_val, const unsigned char *const crc_table)
 The handler used to compute the CRC-DYNAMIC value.
void * specific
 Profile-specific data.

Detailed Description

The generic compression context.

The object defines the generic context that manages IP(/nextheader) and IP/IP(/nextheader) packets. nextheader is managed by the profile-specific part of the context.


Field Documentation

int(* c_generic_context::code_dynamic_part)(const struct c_context *context, const unsigned char *next_header, unsigned char *const dest, int counter)

The handler used to add the dynamic part of the next header to the ROHC pachet.

Referenced by c_generic_create(), c_rtp_create(), c_udp_create(), c_udp_lite_create(), code_IR_DYN_packet(), and code_IR_packet().

int(* c_generic_context::code_static_part)(const struct c_context *context, const unsigned char *next_header, unsigned char *const dest, int counter)

The handler used to add the static part of the next header to the ROHC packet.

Referenced by c_generic_create(), c_rtp_create(), c_udp_create(), c_udp_lite_create(), and code_IR_packet().

int(* c_generic_context::code_UO_packet_head)(const struct c_context *context, const unsigned char *next_header, unsigned char *const dest, int counter, int *const first_position)

The handler used to add an additional header in the head of the UO-0, UO-1 and UO-2 packets.

Referenced by c_generic_create(), c_rtp_create(), c_udp_create(), c_udp_lite_create(), code_UO0_packet(), code_UO1_packet(), and code_UO2_packet().

int(* c_generic_context::code_UO_packet_tail)(const struct c_context *context, const unsigned char *next_header, unsigned char *const dest, int counter)

The handler used to add an additional header in the tail of the UO-0, UO-1 and UO-2 packets.

Referenced by c_generic_create(), c_rtp_create(), c_udp_create(), c_udp_lite_create(), and code_UO_packet_tail().

unsigned int(* c_generic_context::compute_crc_dynamic)(const unsigned char *const ip, const unsigned char *const ip2, const unsigned char *const next_header, const unsigned int crc_type, const unsigned int init_val, const unsigned char *const crc_table)

The handler used to compute the CRC-DYNAMIC value.

Referenced by c_generic_create(), c_rtp_create(), c_udp_create(), c_udp_lite_create(), code_UO0_packet(), code_UO1_packet(), and code_UO2_packet().

unsigned int(* c_generic_context::compute_crc_static)(const unsigned char *const ip, const unsigned char *const ip2, const unsigned char *const next_header, const unsigned int crc_type, const unsigned int init_val, const unsigned char *const crc_table)

The handler used to compute the CRC-STATIC value.

Referenced by c_generic_create(), c_rtp_create(), c_udp_create(), c_udp_lite_create(), code_UO0_packet(), code_UO1_packet(), and code_UO2_packet().

void(* c_generic_context::decide_state)(struct c_context *const context)

The handler used to decide the state that should be used for the next packet.

Referenced by c_generic_create(), c_generic_encode(), c_rtp_create(), c_udp_create(), and c_udp_lite_create().

The number of packets sent while in First Order (FO) state.

Referenced by c_generic_create(), change_state(), changed_dynamic_one_hdr(), changed_static_one_hdr(), and decide_state().

The number of packet sent while in SO state, used for the periodic refreshes of the context.

See also:
periodic_down_transition

Referenced by c_generic_create(), and periodic_down_transition().

The number of packet sent while in FO or SO state, used for the periodic refreshes of the context.

See also:
periodic_down_transition

Referenced by c_generic_create(), and periodic_down_transition().

void(* c_generic_context::init_at_IR)(const struct c_context *context, const unsigned char *next_header)

The handler used to initialize some data just before the IR packet build.

Referenced by c_generic_create(), c_rtp_create(), c_udp_create(), c_udp_lite_create(), code_IR_DYN_packet(), and code_IR_packet().

The number of packets sent while in Initialization & Refresh (IR) state.

Referenced by c_generic_create(), change_state(), decide_state(), and udp_lite_init_cc().

The minimal number of IR-DYN packets the compressor must sent before sending UO* packets.

Referenced by c_generic_create(), c_generic_feedback(), and periodic_down_transition().

The length of the next header.

Referenced by c_generic_create(), c_generic_encode(), c_rtp_create(), c_udp_create(), and c_udp_lite_create().

The protocol number registered by IANA for the next header protocol.

Referenced by c_generic_create(), c_generic_encode(), c_rtp_create(), c_udp_create(), and c_udp_lite_create().

unsigned int c_generic_context::sn

A window used to encode the SN.

Referenced by c_generic_create(), c_generic_destroy(), and c_generic_feedback().

The number of packets sent while in Second Order (SO) state.

Referenced by c_generic_create(), and change_state().


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