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.
struct c_wlsbsn_window
 A window used to encode the SN.
size_t ip_hdr_nr
struct ip_header_info outer_ip_flags
 Information about the outer IP header.
struct ip_header_info inner_ip_flags
 Information about the inner IP header.
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.
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.
rohc_packet_t(* decide_FO_packet )(const struct rohc_comp_ctxt *context)
 The handler used to decide which packet to send in FO state.
rohc_packet_t(* decide_SO_packet )(const struct rohc_comp_ctxt *context)
 The handler used to decide which packet to send in SO state.
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.
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.
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.
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.
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.
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.
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.
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.
void * specific
 Profile-specific data.

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.

The handler used to decide which extension to send

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

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.

Information about the inner IP header.

The number of IP headers

The length of the next header.

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

Information about the outer IP header.

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

A window used to encode the SN.

Profile-specific data.

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


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

Generated on 4 Jul 2018 for ROHC compression/decompression library by  doxygen 1.6.1