ROHC compression/decompression library
|
ROHC generic list decompression. More...
Functions | |
static int | rohc_list_decode (struct list_decomp *decomp, const unsigned char *packet, size_t packet_len) |
Decompress the compressed list in given packet. | |
static int | rohc_list_decode_type_0 (struct list_decomp *const decomp, const unsigned char *packet, size_t packet_len, const unsigned int gen_id, const int ps, const uint8_t m) |
Decode an extension list type 0. | |
static int | rohc_list_decode_type_1 (struct list_decomp *const decomp, const unsigned char *packet, size_t packet_len, const unsigned int gen_id, const int ps, const int xi_1) |
Decode an extension list type 1. | |
static int | rohc_list_decode_type_2 (struct list_decomp *const decomp, const unsigned char *packet, size_t packet_len, const unsigned int gen_id) |
Decode an extension list type 2. | |
static int | rohc_list_decode_type_3 (struct list_decomp *const decomp, const unsigned char *packet, size_t packet_len, const unsigned int gen_id, const int ps, const int xi_1) |
Decode an extension list type 3. | |
static bool | rohc_list_is_gen_id_known (const struct list_decomp *const decomp, const unsigned int gen_id) |
Check if the given gen_id is known, ie. present in list table. | |
static uint8_t | rohc_get_bit (const unsigned char byte, const size_t pos) |
Get the bit in the given byte at the given position. | |
int | rohc_list_decode_maybe (struct list_decomp *decomp, const unsigned char *packet, size_t packet_len) |
Decompress the compressed list in given packet if present. | |
bool | rohc_decomp_list_create_item (struct list_decomp *const decomp, const unsigned int xi_index, const unsigned int xi_index_value, const uint8_t *const rohc_packet, const size_t rohc_max_len, size_t *const item_length) |
Create a list item from a XI item. |
ROHC generic list decompression.
bool rohc_decomp_list_create_item | ( | struct list_decomp *const | decomp, |
const unsigned int | xi_index, | ||
const unsigned int | xi_index_value, | ||
const uint8_t *const | rohc_packet, | ||
const size_t | rohc_max_len, | ||
size_t *const | item_length | ||
) |
Create a list item from a XI item.
decomp | The context for list decompression | |
xi_index | The XI index | |
xi_index_value | The XI index value | |
rohc_packet | The beginning of the XI item in the ROHC header | |
rohc_max_len | The remaining length (in bytes) of the ROHC header | |
[out] | item_length | The length (in bytes) of the created item |
static uint8_t rohc_get_bit | ( | const unsigned char | byte, |
const size_t | pos | ||
) | [static] |
Get the bit in the given byte at the given position.
byte | The byte to analyse |
pos | The position between 0 and 7 |
static int rohc_list_decode | ( | struct list_decomp * | decomp, |
const unsigned char * | packet, | ||
size_t | packet_len | ||
) | [static] |
Decompress the compressed list in given packet.
decomp | The list decompressor |
packet | The ROHC packet to decompress |
packet_len | The remaining length of the packet to decode (in bytes) |
int rohc_list_decode_maybe | ( | struct list_decomp * | decomp, |
const unsigned char * | packet, | ||
size_t | packet_len | ||
) |
Decompress the compressed list in given packet if present.
decomp | The list decompressor |
packet | The ROHC packet to decompress |
packet_len | The remaining length of the packet to decode (in bytes) |
static int rohc_list_decode_type_0 | ( | struct list_decomp *const | decomp, |
const unsigned char * | packet, | ||
size_t | packet_len, | ||
const unsigned int | gen_id, | ||
const int | ps, | ||
const uint8_t | m | ||
) | [static] |
Decode an extension list type 0.
decomp | The list decompressor |
packet | The ROHC packet to decompress |
packet_len | The length (in bytes) of the packet to decompress |
gen_id | The id of the current list, maybe ROHC_LIST_GEN_ID_ANON if not defined |
ps | The ps field |
m | The m field |
static int rohc_list_decode_type_1 | ( | struct list_decomp *const | decomp, |
const unsigned char * | packet, | ||
size_t | packet_len, | ||
const unsigned int | gen_id, | ||
const int | ps, | ||
const int | xi_1 | ||
) | [static] |
Decode an extension list type 1.
decomp | The list decompressor |
packet | The ROHC packet to decompress |
packet_len | The length (in bytes) of the packet to decompress |
gen_id | The id of the current list, maybe ROHC_LIST_GEN_ID_ANON if not defined |
ps | The ps field |
xi_1 | The XI 1 field if PS = 1 (4-bit XI) |
static int rohc_list_decode_type_2 | ( | struct list_decomp *const | decomp, |
const unsigned char * | packet, | ||
size_t | packet_len, | ||
const unsigned int | gen_id | ||
) | [static] |
Decode an extension list type 2.
decomp | The list decompressor |
packet | The ROHC packet to decompress |
packet_len | The length (in bytes) of the packet to decompress |
gen_id | The id of the current list, maybe ROHC_LIST_GEN_ID_ANON if not defined |
static int rohc_list_decode_type_3 | ( | struct list_decomp *const | decomp, |
const unsigned char * | packet, | ||
size_t | packet_len, | ||
const unsigned int | gen_id, | ||
const int | ps, | ||
const int | xi_1 | ||
) | [static] |
Decode an extension list type 3.
decomp | The list decompressor |
packet | The ROHC packet to decompress |
packet_len | The length (in bytes) of the packet to decompress |
gen_id | The id of the current list maybe ROHC_LIST_GEN_ID_ANON if not defined |
ps | The ps field |
xi_1 | The XI 1 field if PS = 1 (4-bit XI) |
factorize some code with rohc_list_decode_type_1
factorize some code with rohc_list_decode_type_2
static bool rohc_list_is_gen_id_known | ( | const struct list_decomp *const | decomp, |
const unsigned int | gen_id | ||
) | [static] |
Check if the given gen_id is known, ie. present in list table.
decomp | The list decompressor |
gen_id | The gen_id to check for |