ROHC compression/decompression library
|
The generic decompression context for RFC3095-based profiles. More...
#include <rohc_comp_rfc3095.h>
Data Fields | |
uint32_t | sn |
The Sequence Number (SN), may be 16-bit or 32-bit long. More... | |
struct c_wlsb * | sn_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... | |
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.
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.