|
ROHC compression/decompression library
|
ROHC compression context for the IP-only profile. More...
#include "c_ip.h"#include "rohc_traces_internal.h"#include "rohc_utils.h"#include <string.h>#include <assert.h>
Functions | |
| static bool | rohc_ip_ctxt_create (struct rohc_comp_ctxt *const context, const struct net_pkt *const packet) |
| Create a new context and initialize it thanks to the given IP packet. More... | |
| bool | c_ip_check_context (const struct rohc_comp_ctxt *const context, const struct net_pkt *const packet, size_t *const cr_score) |
| Check if an IP packet belongs to the context. More... | |
| rohc_packet_t | c_ip_decide_FO_packet (const struct rohc_comp_ctxt *context) |
| Decide which packet to send when in First Order (FO) state. More... | |
| rohc_packet_t | c_ip_decide_SO_packet (const struct rohc_comp_ctxt *context) |
| Decide which packet to send when in Second Order (SO) state. More... | |
| uint32_t | c_ip_get_next_sn (const struct rohc_comp_ctxt *const context, const struct net_pkt *const uncomp_pkt) |
| Determine the SN value for the next packet. More... | |
| int | c_ip_code_ir_remainder (const struct rohc_comp_ctxt *const context, uint8_t *const dest, const size_t dest_max_len, const size_t counter) |
| Code the remainder header for the IR or IR-DYN packets. More... | |
Variables | |
| const struct rohc_comp_profile | c_ip_profile |
| Define the compression part of the IP-only profile as described in the RFC 3843. More... | |
ROHC compression context for the IP-only profile.
| bool c_ip_check_context | ( | const struct rohc_comp_ctxt *const | context, |
| const struct net_pkt *const | packet, | ||
| size_t *const | cr_score | ||
| ) |
Check if an IP packet belongs to the context.
Conditions are:
This function is one of the functions that must exist in one profile for the framework to work.
| context | The compression context | |
| packet | The IP packet to check | |
| [out] | cr_score | The score of the context for Context Replication (CR) |
| int c_ip_code_ir_remainder | ( | const struct rohc_comp_ctxt *const | context, |
| uint8_t *const | dest, | ||
| const size_t | dest_max_len, | ||
| const size_t | counter | ||
| ) |
Code the remainder header for the IR or IR-DYN packets.
Remainder of IR/IR-DYN packet (5.7.7.1):
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
1 | SN | 2 octets if not RTP
+---+---+---+---+---+---+---+---+| context | The compression context |
| dest | The ROHC packet being coded |
| dest_max_len | The maximum length (in bytes) of the ROHC packet |
| counter | The current position in the ROHC buffer |
| rohc_packet_t c_ip_decide_FO_packet | ( | const struct rohc_comp_ctxt * | context | ) |
Decide which packet to send when in First Order (FO) state.
Packets that can be used are the IR-DYN and UO-2 packets.
| context | The compression context |
| rohc_packet_t c_ip_decide_SO_packet | ( | const struct rohc_comp_ctxt * | context | ) |
Decide which packet to send when in Second Order (SO) state.
Packets that can be used are the UO-0, UO-1 and UO-2 (with or without extensions) packets.
| context | The compression context |
| uint32_t c_ip_get_next_sn | ( | const struct rohc_comp_ctxt *const | context, |
| const struct net_pkt *const | uncomp_pkt | ||
| ) |
Determine the SN value for the next packet.
Profile SN is an internal increasing 16-bit number.
| context | The compression context |
| uncomp_pkt | The uncompressed packet to encode |
|
static |
Create a new context and initialize it thanks to the given IP packet.
This function is one of the functions that must exist in one profile for the framework to work.
| context | The compression context |
| packet | The IP packet given to initialize the new context |
| const struct rohc_comp_profile c_ip_profile |
Define the compression part of the IP-only profile as described in the RFC 3843.
1.8.13