ROHC compression/decompression library
Functions
d_tcp_static.c File Reference

Handle the static chain of the TCP decompression profile. More...

#include "d_tcp_static.h"
#include "d_tcp_defines.h"
#include "rohc_bit_ops.h"
#include "rohc_utils.h"
#include "protocols/ip_numbers.h"
#include <string.h>
Include dependency graph for d_tcp_static.c:

Functions

static int tcp_parse_static_ip (const struct rohc_decomp_ctxt *const context, const uint8_t *const rohc_packet, const size_t rohc_length, struct rohc_tcp_extr_ip_bits *const ip_bits, uint8_t *const nh_proto)
 Decode the static IP header of the rohc packet. More...
 
static int tcp_parse_static_ipv6_option (const struct rohc_decomp_ctxt *const context, struct rohc_tcp_extr_ip_bits *const ip_bits, ip_option_context_t *const opt_context, const uint8_t protocol, const uint8_t *const rohc_packet, const size_t rohc_length)
 Decode the static IPv6 option header of the rohc packet. More...
 
static int tcp_parse_static_tcp (const struct rohc_decomp_ctxt *const context, const uint8_t *const rohc_packet, const size_t rohc_length, struct rohc_tcp_extr_bits *const bits)
 Decode the TCP static part of the ROHC packet. More...
 
bool tcp_parse_static_chain (const struct rohc_decomp_ctxt *const context, const uint8_t *const rohc_packet, const size_t rohc_length, struct rohc_tcp_extr_bits *const bits, size_t *const parsed_len)
 Parse the static chain of the IR packet. More...
 

Detailed Description

Handle the static chain of the TCP decompression profile.

Author
FWX rohc_.nosp@m.team.nosp@m.@dial.nosp@m.ine..nosp@m.fr
Didier Barvaux didie.nosp@m.r@ba.nosp@m.rvaux.nosp@m..org
Didier Barvaux didie.nosp@m.r.ba.nosp@m.rvaux.nosp@m.@tou.nosp@m.louse.nosp@m..viv.nosp@m.eris..nosp@m.com

Function Documentation

bool tcp_parse_static_chain ( const struct rohc_decomp_ctxt *const  context,
const uint8_t *const  rohc_packet,
const size_t  rohc_length,
struct rohc_tcp_extr_bits *const  bits,
size_t *const  parsed_len 
)

Parse the static chain of the IR packet.

Parameters
contextThe decompression context
rohc_packetThe remaining part of the ROHC packet
rohc_lengthThe remaining length (in bytes) of the ROHC packet
[out]bitsThe bits extracted from the static chain
[out]parsed_lenThe length (in bytes) of static chain in case of success
Returns
true in the static chain was successfully parsed, false if the ROHC packet was malformed
static int tcp_parse_static_ip ( const struct rohc_decomp_ctxt *const  context,
const uint8_t *const  rohc_packet,
const size_t  rohc_length,
struct rohc_tcp_extr_ip_bits *const  ip_bits,
uint8_t *const  nh_proto 
)
static

Decode the static IP header of the rohc packet.

Parameters
contextThe decompression context
rohc_packetThe remaining part of the ROHC packet
rohc_lengthThe remaining length (in bytes) of the ROHC packet
[out]ip_bitsThe bits extracted from the IP part of the static chain
[out]nh_protoThe next header protocol of the last extension header
Returns
The length of static IP header in case of success, -1 if an error occurs
static int tcp_parse_static_ipv6_option ( const struct rohc_decomp_ctxt *const  context,
struct rohc_tcp_extr_ip_bits *const  ip_bits,
ip_option_context_t *const  opt_context,
const uint8_t  protocol,
const uint8_t *const  rohc_packet,
const size_t  rohc_length 
)
static

Decode the static IPv6 option header of the rohc packet.

Parameters
contextThe decompression context
[out]ip_bitsThe bits extracted from the IP part of the static chain
[out]opt_contextThe specific IPv6 option decompression context
protocolThe protocol of the IPv6 option
rohc_packetThe remaining part of the ROHC packet
rohc_lengthThe remaining length (in bytes) of the ROHC packet
Returns
The length of static IP header in case of success, -1 if an error occurs
static int tcp_parse_static_tcp ( const struct rohc_decomp_ctxt *const  context,
const uint8_t *const  rohc_packet,
const size_t  rohc_length,
struct rohc_tcp_extr_bits *const  bits 
)
static

Decode the TCP static part of the ROHC packet.

Parameters
contextThe decompression context
rohc_packetThe remaining part of the ROHC packet
rohc_lengthThe remaining length (in bytes) of the ROHC packet
[out]bitsThe bits extracted from the CO packet
Returns
The number of bytes read in the ROHC packet, -1 in case of failure