| 
    ROHC compression/decompression library
   
    
   
   | 
  
  
  
 
The generic decompression context. More...
#include <d_generic.h>

Data Fields | |
| struct d_generic_changes * | last1 | 
| Information about the previous outer IP header.   | |
| struct d_generic_changes * | last2 | 
| Information about the previous inner IP header.   | |
| struct d_generic_changes * | active1 | 
| Information about the current outer IP header.   | |
| struct d_generic_changes * | active2 | 
| 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_decomp * | list_decomp1 | 
| The list decompressor of the outer IP header.   | |
| struct list_decomp * | list_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.   | |
| 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 *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.   | |
| unsigned int | correction_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.   | |
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.
Information about the current outer IP header.
Referenced by d_generic_create(), d_generic_decode(), d_generic_decode_ir(), d_generic_destroy(), d_generic_detect_ir_dyn_size(), d_rtp_create(), d_udp_create(), d_udp_destroy(), d_udp_lite_create(), d_udp_lite_destroy(), decode_extension3(), decode_irdyn(), decode_uo0(), decode_uo1(), decode_uor2(), ip_decode_dynamic_ip(), rtp_decode_dynamic_rtp(), sync_on_failure(), and synchronize().
Information about the current inner IP header.
Referenced by d_generic_create(), d_generic_decode(), d_generic_decode_ir(), d_generic_destroy(), d_generic_detect_ir_dyn_size(), d_rtp_create(), d_udp_create(), d_udp_destroy(), d_udp_lite_create(), d_udp_lite_destroy(), decode_extension3(), decode_irdyn(), decode_uo0(), decode_uo1(), decode_uor2(), ip_decode_dynamic_ip(), rtp_decode_dynamic_rtp(), sync_on_failure(), and synchronize().
| 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(), decode_uo0(), decode_uo1(), and decode_uor2().
| 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 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 d_generic_create(), d_rtp_create(), d_udp_create(), d_udp_lite_create(), decode_uo0(), decode_uo1(), and decode_uor2().
| 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 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 d_generic_create(), d_rtp_create(), d_udp_create(), d_udp_lite_create(), decode_uo0(), decode_uo1(), and decode_uor2().
| unsigned int d_generic_context::correction_counter | 
Correction counter (see e and f in 5.3.2.2.4 of the RFC 3095)
Referenced by d_generic_decode_ir(), decode_irdyn(), decode_uo0(), decode_uo1(), and decode_uor2().
| unsigned int d_generic_context::current_packet_time | 
The timestamp of the current packet (not yet CRC-tested)
Referenced by 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(), decode_uo0(), decode_uo1(), and decode_uor2().
Whether at least packet was already processed by the context or not.
Referenced by d_generic_create(), and d_generic_decode_ir().
| unsigned int d_generic_context::inter_arrival_time | 
The average inter-packet time over the last few packets.
Referenced by update_inter_packet().
The IP-ID of the outer IP header.
Referenced by decode_uo0(), decode_uo1(), decode_uor2(), ip_decode_dynamic_ip(), and rtp_decode_dynamic_rtp().
The IP-ID of the inner IP header.
Referenced by decode_uo0(), decode_uo1(), decode_uor2(), ip_decode_dynamic_ip(), and rtp_decode_dynamic_rtp().
Information about the previous outer IP header.
Referenced by d_generic_create(), d_generic_decode(), d_generic_decode_ir(), d_generic_destroy(), d_rtp_create(), d_udp_create(), d_udp_destroy(), d_udp_lite_create(), d_udp_lite_destroy(), find_packet_type(), sync_on_failure(), and synchronize().
Information about the previous inner IP header.
Referenced by d_generic_create(), d_generic_decode(), d_generic_decode_ir(), d_generic_destroy(), d_rtp_create(), d_udp_create(), d_udp_destroy(), d_udp_lite_create(), d_udp_lite_destroy(), find_packet_type(), sync_on_failure(), and synchronize().
| unsigned int d_generic_context::last_packet_time | 
The timestamp of the last CRC-approved packet.
Referenced by update_inter_packet().
The list decompressor of the outer IP header.
Referenced by d_generic_create(), d_generic_decode_ir(), d_generic_destroy(), d_generic_detect_ir_dyn_size(), d_generic_detect_ir_size(), decode_irdyn(), decode_uo0(), decode_uo1(), and decode_uor2().
The list decompressor of the inner IP header.
Referenced by d_generic_create(), d_generic_decode_ir(), d_generic_destroy(), d_generic_detect_ir_dyn_size(), d_generic_detect_ir_size(), decode_irdyn(), decode_uo0(), decode_uo1(), and decode_uor2().
Whether the decompressed packet contains a 2nd IP header.
Referenced by d_generic_decode(), d_generic_decode_ir(), decode_extension3(), decode_irdyn(), decode_uo0(), decode_uo1(), decode_uor2(), find_packet_type(), ip_decode_dynamic_ip(), and rtp_decode_dynamic_rtp().
| unsigned int d_generic_context::next_header_len | 
The length of the next header.
Referenced by d_rtp_create(), d_udp_create(), and d_udp_lite_create().
| unsigned short d_generic_context::next_header_proto | 
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 type of packet the decompressor may receive: IR, IR-DYN, UO*.
Referenced by d_generic_decode(), d_generic_decode_ir(), decode_extension3(), decode_uo1(), decode_uor2(), ip_decode_dynamic_ip(), and udp_lite_decode_dynamic_udp().
The LSB-encoded Sequence Number (SN)
Referenced by d_generic_get_sn(), decode_uo0(), decode_uo1(), decode_uor2(), ip_decode_dynamic_ip(), and rtp_decode_dynamic_rtp().
Profile-specific data.
Referenced by d_generic_destroy(), d_rtp_create(), d_udp_create(), d_udp_lite_create(), d_udp_lite_decode(), d_udp_lite_decode_ir(), decode_extension3(), decode_uo0(), decode_uo1(), decode_uor2(), rtp_build_uncompressed_rtp(), rtp_decode_dynamic_rtp(), rtp_decode_uo_tail_rtp(), udp_build_uncompressed_udp(), udp_decode_dynamic_udp(), udp_decode_uo_tail_udp(), udp_lite_build_uncompressed_udp(), udp_lite_decode_dynamic_udp(), and udp_lite_decode_uo_tail_udp().
 1.7.6.1