ROHC ESP decompression profile.
More...
#include "d_generic.h"
#include "d_ip.h"
#include "rohc_traces_internal.h"
#include "rohc_debug.h"
#include "rohc_utils.h"
#include "crc.h"
#include "protocols/esp.h"
#include "schemes/wlsb.h"
#include <stdint.h>
#include <string.h>
#include <assert.h>
Data Structures |
struct | d_esp_context |
| Define the ESP part of the decompression profile context. More...
|
Functions |
static void * | d_esp_create (const struct rohc_decomp_ctxt *const context) |
| Create the ESP decompression context.
|
static void | d_esp_destroy (void *const context) |
| Destroy the context.
|
static int | esp_parse_static_esp (const struct rohc_decomp_ctxt *const context, const unsigned char *packet, size_t length, struct rohc_extr_bits *const bits) |
| Parse the ESP static part of the ROHC packet.
|
static int | esp_parse_dynamic_esp (const struct rohc_decomp_ctxt *const context, const uint8_t *packet, const size_t length, struct rohc_extr_bits *const bits) |
| Parse the ESP dynamic part of the ROHC packet.
|
static bool | esp_decode_values_from_bits (const struct rohc_decomp_ctxt *context, const struct rohc_extr_bits bits, struct rohc_decoded_values *const decoded) |
| Decode ESP values from extracted bits.
|
static int | esp_build_uncomp_esp (const struct rohc_decomp_ctxt *const context, const struct rohc_decoded_values decoded, unsigned char *dest, const unsigned int payload_len) |
| Build an uncompressed ESP header.
|
static void | esp_update_context (const struct rohc_decomp_ctxt *context, const struct rohc_decoded_values decoded) |
| Update context with decoded ESP values.
|
Variables |
struct rohc_decomp_profile | d_esp_profile |
| Define the decompression part of the ESP profile as described in the RFC 3095.
|
Detailed Description
ROHC ESP decompression profile.
- Author:
- FWX <rohc_team@dialine.fr>
-
Didier Barvaux <didier@barvaux.org>
Function Documentation
Create the ESP decompression context.
This function is one of the functions that must exist in one profile for the framework to work.
- Parameters:
-
context | The decompression context |
- Returns:
- The newly-created ESP decompression context
Destroy the context.
This function is one of the functions that must exist in one profile for the framework to work.
- Parameters:
-
context | The compression context |
Build an uncompressed ESP header.
- Parameters:
-
context | The decompression context |
decoded | The values decoded from the ROHC header |
dest | The buffer to store the ESP header (MUST be at least of sizeof(struct esphdr) length) |
payload_len | The length of the ESP payload |
- Returns:
- The length of the next header (ie. the ESP header), -1 in case of error
Decode ESP values from extracted bits.
The following values are decoded:
- Parameters:
-
context | The decompression context |
bits | The extracted bits |
decoded | OUT: The corresponding decoded values |
- Returns:
- true if decoding is successful, false otherwise
Parse the ESP dynamic part of the ROHC packet.
- Parameters:
-
context | The decompression context |
packet | The ROHC packet to decode |
length | The length of the ROHC packet |
bits | OUT: The bits extracted from the ROHC header |
- Returns:
- The number of bytes read in the ROHC packet, -1 in case of failure
Parse the ESP static part of the ROHC packet.
- Parameters:
-
context | The decompression context |
packet | The ROHC packet to decode |
length | The length of the ROHC packet |
bits | OUT: The bits extracted from the ROHC header |
- Returns:
- The number of bytes read in the ROHC packet, -1 in case of failure
Update context with decoded ESP values.
The following decoded values are updated in context:
- Parameters:
-
context | The decompression context |
decoded | The decoded values to update in the context |
Variable Documentation
Initial value:
Define the decompression part of the ESP profile as described in the RFC 3095.