d_tcp_dynamic.c File Reference
Handle the dynamic chain of the TCP decompression profile.
More...
#include "d_tcp_dynamic.h"
#include "d_tcp_defines.h"
#include "d_tcp_opts_list.h"
#include "rohc_utils.h"
#include "protocols/ip_numbers.h"
#include "schemes/rfc4996.h"
#include <string.h>
Functions |
| static int | tcp_parse_dynamic_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) |
| | Decode the dynamic IP header of the rohc packet.
|
| static int | tcp_parse_dynamic_ipv6_option (const struct rohc_decomp_ctxt *const context, ip_option_context_t *const opt_context, const uint8_t *const rohc_packet, const size_t rohc_length) |
| | Decode the dynamic IPv6 option header of the rohc packet.
|
| static int | tcp_parse_dynamic_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 dynamic part of the ROHC packet.
|
| bool | tcp_parse_dyn_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 dynamic chain of the IR/IR-DYN packet.
|
Detailed Description
Handle the dynamic chain of the TCP decompression profile.
- Author:
- FWX <rohc_team@dialine.fr>
-
Didier Barvaux <didier@barvaux.org>
-
Didier Barvaux <didier.barvaux@toulouse.viveris.com>
Function Documentation
| bool tcp_parse_dyn_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 dynamic chain of the IR/IR-DYN packet.
- Parameters:
-
| context | The decompression context |
| rohc_packet | The remaining part of the ROHC packet |
| rohc_length | The remaining length (in bytes) of the ROHC packet |
| [out] | parsed_len | The length (in bytes) of static chain in case of success |
| [out] | bits | The bits extracted from the dynamic chain |
- Returns:
- true in the dynamic chain was successfully parsed, false if the ROHC packet was malformed
| static int tcp_parse_dynamic_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 | |
|
) |
| | [static] |
Decode the dynamic IP header of the rohc packet.
- Parameters:
-
| context | The decompression context |
| rohc_packet | The remaining part of the ROHC packet |
| rohc_length | The remaining length (in bytes) of the ROHC packet |
| [out] | ip_bits | The bits extracted from the IP part of the dynamic chain |
- Returns:
- The length of dynamic IP header in case of success, -1 if an error occurs
| static int tcp_parse_dynamic_ipv6_option |
( |
const struct rohc_decomp_ctxt *const |
context, |
|
|
ip_option_context_t *const |
opt_context, |
|
|
const uint8_t *const |
rohc_packet, |
|
|
const size_t |
rohc_length | |
|
) |
| | [static] |
Decode the dynamic IPv6 option header of the rohc packet.
- Parameters:
-
| context | The decompression context |
| opt_context | The specific IPv6 option decompression context |
| rohc_packet | The remaining part of the ROHC packet |
| rohc_length | The remaining length (in bytes) of the ROHC packet |
- Returns:
- The length of dynamic IP header -1 if an error occurs
| static int tcp_parse_dynamic_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 dynamic part of the ROHC packet.
- Parameters:
-
| context | The decompression context |
| rohc_packet | The remaining part of the ROHC packet |
| rohc_length | The remaining length (in bytes) of the ROHC packet |
| [out] | bits | The bits extracted from the TCP part of the dynamic chain |
- Returns:
- The number of bytes read in the ROHC packet, -1 in case of failure