Handle the static chain of the TCP compression profile.
More...
#include "c_tcp_static.h"
#include "c_tcp_defines.h"
#include "protocols/ip_numbers.h"
#include "protocols/ip.h"
#include <assert.h>
|
static int | tcp_code_static_ipv4_part (const struct rohc_comp_ctxt *const context, const struct ipv4_hdr *const ipv4, uint8_t *const rohc_data, const size_t rohc_max_len) |
| Build the static part of the IPv4 header. More...
|
|
static int | tcp_code_static_ipv6_part (const struct rohc_comp_ctxt *const context, const struct ipv6_hdr *const ipv6, uint8_t *const rohc_data, const size_t rohc_max_len) |
| Build the static part of the IPv6 header. More...
|
|
static int | tcp_code_static_ipv6_opt_part (const struct rohc_comp_ctxt *const context, const struct ipv6_opt *const ipv6_opt, const uint8_t protocol, uint8_t *const rohc_data, const size_t rohc_max_len) |
| Build the static part of the IPv6 option header. More...
|
|
static int | tcp_code_static_tcp_part (const struct rohc_comp_ctxt *const context, const struct tcphdr *const tcp, uint8_t *const rohc_data, const size_t rohc_max_len) |
| Build the static part of the TCP header. More...
|
|
int | tcp_code_static_part (struct rohc_comp_ctxt *const context, const struct ip_packet *const ip, uint8_t *const rohc_pkt, const size_t rohc_pkt_max_len) |
| Code the static part of an IR packet. More...
|
|
◆ tcp_code_static_ipv4_part()
static int tcp_code_static_ipv4_part |
( |
const struct rohc_comp_ctxt *const |
context, |
|
|
const struct ipv4_hdr *const |
ipv4, |
|
|
uint8_t *const |
rohc_data, |
|
|
const size_t |
rohc_max_len |
|
) |
| |
|
static |
Build the static part of the IPv4 header.
- Parameters
-
| context | The compression context |
| ipv4 | The IPv4 header |
[out] | rohc_data | The ROHC packet being built |
| rohc_max_len | The max remaining length in the ROHC buffer |
- Returns
- The length appended in the ROHC buffer if positive, -1 in case of error
◆ tcp_code_static_ipv6_opt_part()
static int tcp_code_static_ipv6_opt_part |
( |
const struct rohc_comp_ctxt *const |
context, |
|
|
const struct ipv6_opt *const |
ipv6_opt, |
|
|
const uint8_t |
protocol, |
|
|
uint8_t *const |
rohc_data, |
|
|
const size_t |
rohc_max_len |
|
) |
| |
|
static |
Build the static part of the IPv6 option header.
- Parameters
-
| context | The compression context |
| ipv6_opt | The IPv6 extension header |
| protocol | The protocol of the IPv6 extension header |
[out] | rohc_data | The ROHC packet being built |
| rohc_max_len | The max remaining length in the ROHC buffer |
- Returns
- The length appended in the ROHC buffer if positive, -1 in case of error
◆ tcp_code_static_ipv6_part()
static int tcp_code_static_ipv6_part |
( |
const struct rohc_comp_ctxt *const |
context, |
|
|
const struct ipv6_hdr *const |
ipv6, |
|
|
uint8_t *const |
rohc_data, |
|
|
const size_t |
rohc_max_len |
|
) |
| |
|
static |
Build the static part of the IPv6 header.
- Parameters
-
| context | The compression context |
| ipv6 | The IPv6 header |
[out] | rohc_data | The ROHC packet being built |
| rohc_max_len | The max remaining length in the ROHC buffer |
- Returns
- The length appended in the ROHC buffer if positive, -1 in case of error
◆ tcp_code_static_part()
int tcp_code_static_part |
( |
struct rohc_comp_ctxt *const |
context, |
|
|
const struct ip_packet *const |
ip, |
|
|
uint8_t *const |
rohc_pkt, |
|
|
const size_t |
rohc_pkt_max_len |
|
) |
| |
Code the static part of an IR packet.
- Parameters
-
context | The compression context |
ip | The outer IP header |
rohc_pkt | OUT: The ROHC packet |
rohc_pkt_max_len | The maximum length of the ROHC packet |
- Returns
- The length of the ROHC packet if successful, -1 otherwise
◆ tcp_code_static_tcp_part()
static int tcp_code_static_tcp_part |
( |
const struct rohc_comp_ctxt *const |
context, |
|
|
const struct tcphdr *const |
tcp, |
|
|
uint8_t *const |
rohc_data, |
|
|
const size_t |
rohc_max_len |
|
) |
| |
|
static |
Build the static part of the TCP header.
Static part of TCP header:
+---+---+---+---+---+---+---+---+
1 / Source port / 2 octets
+---+---+---+---+---+---+---+---+
2 / Destination port / 2 octets
+---+---+---+---+---+---+---+---+
- Parameters
-
| context | The compression context |
| tcp | The TCP header |
[out] | rohc_data | The ROHC packet being built |
| rohc_max_len | The max remaining length in the ROHC buffer |
- Returns
- The length appended in the ROHC buffer if positive, -1 in case of error