ROHC compression/decompression library
Public Attributes
d_generic_context Struct Reference

The generic decompression context. More...

#include <d_generic.h>

Collaboration diagram for d_generic_context:
Collaboration graph
[legend]

List of all members.

Public Attributes

struct d_generic_changeslast1
 Information about the previous outer IP header.
struct d_generic_changeslast2
 Information about the previous inner IP header.
struct d_generic_changesactive1
 Information about the current outer IP header.
struct d_generic_changesactive2
 Information about the current inner IP header.
int first_packet_processed
 Whether at least packet was already processed by the context or not.
struct d_lsb_decode sn
 The LSB-encoded Sequence Number (SN)
struct d_ip_id_decode ip_id1
 The IP-ID of the outer IP header.
struct d_ip_id_decode ip_id2
 The IP-ID of the inner IP header.
struct list_decomplist_decomp1
 The list decompressor of the outer IP header.
struct list_decomplist_decomp2
 The list decompressor of the inner IP header.
int multiple_ip
 Whether the decompressed packet contains a 2nd IP header.
int packet_type
 The type of packet the decompressor may receive: IR, IR-DYN, UO*.
unsigned short next_header_proto
 The IP protocol ID of the protocol the context is able to decompress.
unsigned int next_header_len
 The length of the next header.
int(* build_next_header )(struct d_generic_context *context, struct d_generic_changes *active, unsigned char *dest, int payload_size)
 The handler used to build the uncompressed next header thanks to context information.
int(* decode_static_next_header )(struct d_generic_context *context, const unsigned char *packet, unsigned int length, unsigned char *dest)
 The handler used to decode the static part of the next header in the ROHC packet.
int(* decode_dynamic_next_header )(struct d_generic_context *context, const unsigned char *packet, unsigned int length, unsigned char *dest)
 The handler used to decode the dynamic part of the next header in the ROHC packet.
int(* decode_uo_tail )(struct d_generic_context *context, const unsigned char *packet, unsigned int length, unsigned char *dest)
 The handler used to decode the tail of the UO* ROHC packet.
unsigned int(* compute_crc_static )(const unsigned char *ip, const unsigned char *ip2, const unsigned char *next_header, unsigned int crc_type, unsigned int init_val)
 The handler used to compute the CRC-STATIC value.
unsigned int(* compute_crc_dynamic )(const unsigned char *ip, const unsigned char *ip2, const unsigned char *next_header, unsigned int crc_type, unsigned int init_val)
 The handler used to compute the CRC-DYNAMIC value.
void * specific
 Profile-specific data.
int counter
 Correction counter (see e and f in 5.3.2.2.4 of the RFC 3095)
unsigned int last_packet_time
 The timestamp of the last CRC-approved packet.
unsigned int current_packet_time
 The timestamp of the current packet (not yet CRC-tested)
unsigned int inter_arrival_time
 The average inter-packet time over the last few packets.

Detailed Description

The generic decompression 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.


Member Data Documentation

int(* d_generic_context::build_next_header)(struct d_generic_context *context, struct d_generic_changes *active, unsigned char *dest, int payload_size)

The handler used to build the uncompressed next header thanks to context information.

Referenced by d_generic_decode_ir(), d_rtp_create(), d_udp_create(), d_udp_lite_create(), decode_irdyn(), do_decode_uo0_and_uo1(), and do_decode_uor2().

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

The handler used to compute the CRC-DYNAMIC value.

Referenced by d_generic_create(), d_rtp_create(), d_udp_create(), d_udp_lite_create(), do_decode_uo0_and_uo1(), and do_decode_uor2().

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

The handler used to compute the CRC-STATIC value.

Referenced by d_generic_create(), d_rtp_create(), d_udp_create(), d_udp_lite_create(), do_decode_uo0_and_uo1(), and do_decode_uor2().

Correction counter (see e and f in 5.3.2.2.4 of the RFC 3095)

Referenced by act_on_crc_failure(), d_generic_decode_ir(), decode_irdyn(), decode_uo0(), decode_uo1(), and decode_uor2().

The timestamp of the current packet (not yet CRC-tested)

Referenced by act_on_crc_failure(), d_generic_decode(), d_generic_decode_ir(), and update_inter_packet().

int(* d_generic_context::decode_dynamic_next_header)(struct d_generic_context *context, const unsigned char *packet, unsigned int length, unsigned char *dest)

The handler used to decode the dynamic part of the next header in the ROHC packet.

Referenced by d_generic_decode_ir(), d_ip_create(), d_rtp_create(), d_udp_create(), d_udp_lite_create(), and decode_irdyn().

int(* d_generic_context::decode_static_next_header)(struct d_generic_context *context, const unsigned char *packet, unsigned int length, unsigned char *dest)

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

Referenced by d_generic_decode_ir(), d_rtp_create(), d_udp_create(), and d_udp_lite_create().

int(* d_generic_context::decode_uo_tail)(struct d_generic_context *context, const unsigned char *packet, unsigned int length, unsigned char *dest)

The handler used to decode the tail of the UO* ROHC packet.

Referenced by d_rtp_create(), d_udp_create(), d_udp_lite_create(), do_decode_uo0_and_uo1(), and do_decode_uor2().

Whether at least packet was already processed by the context or not.

Referenced by d_generic_create(), and d_generic_decode_ir().

The average inter-packet time over the last few packets.

Referenced by act_on_crc_failure(), and update_inter_packet().

The timestamp of the last CRC-approved packet.

Referenced by act_on_crc_failure(), and update_inter_packet().

The length of the next header.

Referenced by d_rtp_create(), d_udp_create(), and d_udp_lite_create().

The IP protocol ID of the protocol the context is able to decompress.

Referenced by d_generic_create(), d_generic_decode_ir(), d_rtp_create(), d_udp_create(), and d_udp_lite_create().


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