ROHC compression/decompression library
Data Fields
rohc_comp_rfc3095_ctxt Struct Reference

The generic decompression context for RFC3095-based profiles. More...

#include <rohc_comp_rfc3095.h>

Collaboration diagram for rohc_comp_rfc3095_ctxt:
Collaboration graph
[legend]

Data Fields

uint32_t sn
 The Sequence Number (SN), may be 16-bit or 32-bit long. More...
 
struct c_wlsbsn_window
 A window used to encode the SN. More...
 
size_t ip_hdr_nr
 
struct ip_header_info outer_ip_flags
 Information about the outer IP header. More...
 
struct ip_header_info inner_ip_flags
 Information about the inner IP header. More...
 
struct generic_tmp_vars tmp
 Temporary variables that are used during one single compression of packet. More...
 
unsigned int next_header_proto
 The protocol number registered by IANA for the next header protocol. More...
 
unsigned int next_header_len
 The length of the next header. More...
 
bool(* encode_uncomp_fields )(struct rohc_comp_ctxt *const context, const struct net_pkt *const uncomp_pkt)
 
void(* decide_state )(struct rohc_comp_ctxt *const context)
 The handler used to decide the state that should be used for the next packet. More...
 
rohc_packet_t(* decide_FO_packet )(const struct rohc_comp_ctxt *context)
 The handler used to decide which packet to send in FO state. More...
 
rohc_packet_t(* decide_SO_packet )(const struct rohc_comp_ctxt *context)
 The handler used to decide which packet to send in SO state. More...
 
rohc_ext_t(* decide_extension )(const struct rohc_comp_ctxt *context)
 
void(* init_at_IR )(struct rohc_comp_ctxt *const context, const uint8_t *const next_header)
 The handler used to initialize some data just before the IR packet build. More...
 
uint32_t(* get_next_sn )(const struct rohc_comp_ctxt *const context, const struct net_pkt *const uncomp_pkt)
 
size_t(* code_static_part )(const struct rohc_comp_ctxt *const context, const uint8_t *const next_header, uint8_t *const dest, const size_t counter)
 The handler used to add the static part of the next header to the ROHC packet. More...
 
size_t(* code_dynamic_part )(const struct rohc_comp_ctxt *const context, const uint8_t *const next_header, uint8_t *const dest, const size_t counter)
 The handler used to add the dynamic part of the next header to the ROHC pachet. More...
 
int(* code_ir_remainder )(const struct rohc_comp_ctxt *const context, uint8_t *const dest, const size_t dest_max_len, const size_t counter)
 The handler used to add the IR/IR-DYN remainder header to the ROHC pachet. More...
 
size_t(* code_UO_packet_head )(const struct rohc_comp_ctxt *const context, const uint8_t *const next_header, uint8_t *const dest, const size_t counter, size_t *const first_position)
 The handler used to add an additional header in the head of the UO-0, UO-1 and UO-2 packets. More...
 
size_t(* code_uo_remainder )(const struct rohc_comp_ctxt *const context, const uint8_t *const next_header, uint8_t *const dest, const size_t counter)
 The handler used to add an additional header in the tail of the UO-0, UO-1 and UO-2 packets. More...
 
uint8_t(* compute_crc_static )(const uint8_t *const ip, const uint8_t *const ip2, const uint8_t *const next_header, const rohc_crc_type_t crc_type, const uint8_t init_val, const uint8_t *const crc_table)
 The handler used to compute the CRC-STATIC value. More...
 
uint8_t(* compute_crc_dynamic )(const uint8_t *const ip, const uint8_t *const ip2, const uint8_t *const next_header, const rohc_crc_type_t crc_type, const uint8_t init_val, const uint8_t *const crc_table)
 The handler used to compute the CRC-DYNAMIC value. More...
 
void * specific
 Profile-specific data. More...
 

Detailed Description

The generic decompression context for RFC3095-based profiles.

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

size_t(* rohc_comp_rfc3095_ctxt::code_dynamic_part) (const struct rohc_comp_ctxt *const context, const uint8_t *const next_header, uint8_t *const dest, const size_t counter)

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

int(* rohc_comp_rfc3095_ctxt::code_ir_remainder) (const struct rohc_comp_ctxt *const context, uint8_t *const dest, const size_t dest_max_len, const size_t counter)

The handler used to add the IR/IR-DYN remainder header to the ROHC pachet.

size_t(* rohc_comp_rfc3095_ctxt::code_static_part) (const struct rohc_comp_ctxt *const context, const uint8_t *const next_header, uint8_t *const dest, const size_t counter)

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

size_t(* rohc_comp_rfc3095_ctxt::code_UO_packet_head) (const struct rohc_comp_ctxt *const context, const uint8_t *const next_header, uint8_t *const dest, const size_t counter, size_t *const first_position)

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

size_t(* rohc_comp_rfc3095_ctxt::code_uo_remainder) (const struct rohc_comp_ctxt *const context, const uint8_t *const next_header, uint8_t *const dest, const size_t counter)

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

uint8_t(* rohc_comp_rfc3095_ctxt::compute_crc_dynamic) (const uint8_t *const ip, const uint8_t *const ip2, const uint8_t *const next_header, const rohc_crc_type_t crc_type, const uint8_t init_val, const uint8_t *const crc_table)

The handler used to compute the CRC-DYNAMIC value.

uint8_t(* rohc_comp_rfc3095_ctxt::compute_crc_static) (const uint8_t *const ip, const uint8_t *const ip2, const uint8_t *const next_header, const rohc_crc_type_t crc_type, const uint8_t init_val, const uint8_t *const crc_table)

The handler used to compute the CRC-STATIC value.

rohc_ext_t(* rohc_comp_rfc3095_ctxt::decide_extension) (const struct rohc_comp_ctxt *context)

The handler used to decide which extension to send

rohc_packet_t(* rohc_comp_rfc3095_ctxt::decide_FO_packet) (const struct rohc_comp_ctxt *context)

The handler used to decide which packet to send in FO state.

rohc_packet_t(* rohc_comp_rfc3095_ctxt::decide_SO_packet) (const struct rohc_comp_ctxt *context)

The handler used to decide which packet to send in SO state.

void(* rohc_comp_rfc3095_ctxt::decide_state) (struct rohc_comp_ctxt *const context)

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

bool(* rohc_comp_rfc3095_ctxt::encode_uncomp_fields) (struct rohc_comp_ctxt *const context, const struct net_pkt *const uncomp_pkt)

The handler for encoding profile-specific uncompressed header fields

uint32_t(* rohc_comp_rfc3095_ctxt::get_next_sn) (const struct rohc_comp_ctxt *const context, const struct net_pkt *const uncomp_pkt)

Determine the next SN value

void(* rohc_comp_rfc3095_ctxt::init_at_IR) (struct rohc_comp_ctxt *const context, const uint8_t *const next_header)

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

struct ip_header_info rohc_comp_rfc3095_ctxt::inner_ip_flags

Information about the inner IP header.

size_t rohc_comp_rfc3095_ctxt::ip_hdr_nr

The number of IP headers

unsigned int rohc_comp_rfc3095_ctxt::next_header_len

The length of the next header.

unsigned int rohc_comp_rfc3095_ctxt::next_header_proto

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

struct ip_header_info rohc_comp_rfc3095_ctxt::outer_ip_flags

Information about the outer IP header.

uint32_t rohc_comp_rfc3095_ctxt::sn

The Sequence Number (SN), may be 16-bit or 32-bit long.

struct c_wlsb* rohc_comp_rfc3095_ctxt::sn_window

A window used to encode the SN.

void* rohc_comp_rfc3095_ctxt::specific

Profile-specific data.

struct generic_tmp_vars rohc_comp_rfc3095_ctxt::tmp

Temporary variables that are used during one single compression of packet.


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