ROHC compression/decompression library
Data Fields
d_generic_context Struct Reference

The generic decompression context. More...

#include <d_generic.h>

Collaboration diagram for d_generic_context:
Collaboration graph
[legend]

Data Fields

struct d_generic_changesouter_ip_changes
 Information about the outer IP header.
struct d_generic_changesinner_ip_changes
 Information about the inner IP header.
struct rohc_lsb_decodesn_lsb_ctxt
 The LSB decoding context for the Sequence Number (SN)
struct ip_id_offset_decodeouter_ip_id_offset_ctxt
 The IP-ID of the outer IP header.
struct ip_id_offset_decodeinner_ip_id_offset_ctxt
 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.
rohc_packet_t 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.
rohc_packet_t(* detect_packet_type )(struct rohc_decomp *decomp, struct d_context *context, const unsigned char *packet, const size_t rohc_length, const size_t large_cid_len)
int(* parse_static_next_hdr )(struct d_generic_context *context, const unsigned char *packet, unsigned int length, struct rohc_extr_bits *const bits)
 The handler used to parse the static part of the next header in the ROHC packet.
int(* parse_dyn_next_hdr )(struct d_generic_context *context, const unsigned char *packet, unsigned int length, struct rohc_extr_bits *const bits)
 The handler used to parse the dynamic part of the next header in the ROHC packet.
int(* parse_uo_remainder )(struct d_generic_context *context, const unsigned char *packet, unsigned int length, struct rohc_extr_bits *const bits)
 The handler used to parse the tail of the UO* ROHC packet.
bool(* decode_values_from_bits )(const struct d_context *context, const struct rohc_extr_bits bits, struct rohc_decoded_values *const decoded)
int(* build_next_header )(const struct d_generic_context *const context, const struct rohc_decoded_values decoded, unsigned char *dest, const unsigned int payload_len)
unsigned int(* compute_crc_static )(const unsigned char *const ip, const unsigned char *const ip2, const unsigned char *const next_header, const rohc_crc_type_t 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 rohc_crc_type_t crc_type, const unsigned int init_val, const unsigned char *const crc_table)
 The handler used to compute the CRC-DYNAMIC value.
void(* update_context )(const struct d_context *context, const struct rohc_decoded_values decoded)
void * specific
 Profile-specific data.
unsigned int correction_counter
 Correction counter (see e and f in 5.3.2.2.4 of the RFC 3095)

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.


Field Documentation

int(* d_generic_context::build_next_header)(const struct d_generic_context *const context, const struct rohc_decoded_values decoded, unsigned char *dest, const unsigned int payload_len)

The handler used to build the uncompressed next header

Referenced by d_udp_create(), and d_udp_lite_create().

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

The handler used to compute the CRC-DYNAMIC value.

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

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

The handler used to compute the CRC-STATIC value.

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

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

bool(* d_generic_context::decode_values_from_bits)(const struct d_context *context, const struct rohc_extr_bits bits, struct rohc_decoded_values *const decoded)

The handler used to decode extracted for next header

Referenced by d_udp_create(), and d_udp_lite_create().

rohc_packet_t(* d_generic_context::detect_packet_type)(struct rohc_decomp *decomp, struct d_context *context, const unsigned char *packet, const size_t rohc_length, const size_t large_cid_len)

The handler used to detect the packet type

Referenced by d_generic_decode(), d_ip_create(), d_udp_create(), and d_udp_lite_create().

Information about the inner IP header.

Referenced by d_generic_create(), d_generic_destroy(), d_udp_create(), and d_udp_lite_create().

The IP-ID of the inner IP header.

Referenced by d_generic_create(), and d_generic_destroy().

The list decompressor of the outer IP header.

Referenced by d_generic_create(), and d_generic_destroy().

The list decompressor of the inner IP header.

Referenced by d_generic_create(), and d_generic_destroy().

Whether the decompressed packet contains a 2nd IP header.

The length of the next header.

Referenced by 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_udp_create(), and d_udp_lite_create().

Information about the outer IP header.

Referenced by d_generic_create(), d_generic_destroy(), d_udp_create(), d_udp_lite_create(), and udp_update_context().

The IP-ID of the outer IP header.

Referenced by d_generic_create(), and d_generic_destroy().

The type of packet the decompressor may receive: IR, IR-DYN, UO*.

Referenced by d_generic_decode(), and ip_parse_dynamic_ip().

int(* d_generic_context::parse_dyn_next_hdr)(struct d_generic_context *context, const unsigned char *packet, unsigned int length, struct rohc_extr_bits *const bits)

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

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

int(* d_generic_context::parse_static_next_hdr)(struct d_generic_context *context, const unsigned char *packet, unsigned int length, struct rohc_extr_bits *const bits)

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

Referenced by d_udp_create(), and d_udp_lite_create().

int(* d_generic_context::parse_uo_remainder)(struct d_generic_context *context, const unsigned char *packet, unsigned int length, struct rohc_extr_bits *const bits)

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

Referenced by d_udp_create(), and d_udp_lite_create().

The LSB decoding context for the Sequence Number (SN)

Referenced by d_generic_get_sn(), d_ip_create(), d_udp_create(), and d_udp_lite_create().

Profile-specific data.

Referenced by d_generic_destroy(), d_udp_create(), d_udp_lite_create(), and d_udp_lite_decode().

void(* d_generic_context::update_context)(const struct d_context *context, const struct rohc_decoded_values decoded)

The handler used to update context with decoded next header fields

Referenced by d_udp_create(), and d_udp_lite_create().


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