Handle encoding of TCP Selective ACKnowledgement (SACK) option. More...
#include "tcp_sack.h"
Functions | |
| static int | c_tcp_sack_code_block (const struct rohc_comp_ctxt *const context, const uint32_t reference, const sack_block_t *const sack_block, uint8_t *const rohc_data, const size_t rohc_max_len) |
| Compress one SACK block. | |
| static int | c_tcp_sack_code_pure_lsb (const struct rohc_comp_ctxt *const context, const uint32_t base, const uint32_t field, uint8_t *const rohc_data, const size_t rohc_max_len) |
| Compress one SACK field value. | |
| int | c_tcp_opt_sack_code (const struct rohc_comp_ctxt *const context, const uint32_t ack_value, const sack_block_t *const sack_blocks, const uint8_t length, const bool is_unchanged, uint8_t *const rohc_data, const size_t rohc_max_len) |
| Compress one TCP Selective ACKnowledgement (SACK) option. | |
Handle encoding of TCP Selective ACKnowledgement (SACK) option.
| int c_tcp_opt_sack_code | ( | const struct rohc_comp_ctxt *const | context, | |
| const uint32_t | ack_value, | |||
| const sack_block_t *const | sack_blocks, | |||
| const uint8_t | length, | |||
| const bool | is_unchanged, | |||
| uint8_t *const | rohc_data, | |||
| const size_t | rohc_max_len | |||
| ) |
Compress one TCP Selective ACKnowledgement (SACK) option.
See RFC6846 page 68 (and RFC2018 for Selective Acknowledgement option)
| context | The compression context | |
| ack_value | The ack value | |
| sack_blocks | The SACK blocks to compress | |
| length | The length of the SACK blocks | |
| is_unchanged | Whether the SACK option is unchanged or not (only for irregular chain, use false for list item) | |
| [out] | rohc_data | The ROHC packet being built |
| rohc_max_len | The max remaining length in the ROHC buffer |
| static int c_tcp_sack_code_block | ( | const struct rohc_comp_ctxt *const | context, | |
| const uint32_t | reference, | |||
| const sack_block_t *const | sack_block, | |||
| uint8_t *const | rohc_data, | |||
| const size_t | rohc_max_len | |||
| ) | [static] |
Compress one SACK block.
See RFC6846 page 68 (and RFC2018 for Selective Acknowledgement option)
| context | The compression context | |
| reference | The reference value | |
| sack_block | The SACK block to compress | |
| [out] | rohc_data | The ROHC packet being built |
| rohc_max_len | The max remaining length in the ROHC buffer |
| static int c_tcp_sack_code_pure_lsb | ( | const struct rohc_comp_ctxt *const | context, | |
| const uint32_t | base, | |||
| const uint32_t | field, | |||
| uint8_t *const | rohc_data, | |||
| const size_t | rohc_max_len | |||
| ) | [static] |
Compress one SACK field value.
See RFC6846 page 67 (and RFC2018 for Selective Acknowledgement option)
| context | The compression context | |
| base | The base value | |
| field | The value to compress | |
| [out] | rohc_data | The ROHC packet being built |
| rohc_max_len | The max remaining length in the ROHC buffer |
1.6.1