comp_list_ipv6.c File Reference
ROHC list compression of IPv6 extension headers.
More...
#include "schemes/comp_list_ipv6.h"
#include <string.h>
Functions |
| static int | get_index_ipv6_table (const uint8_t next_header_type, const size_t occur_nr) |
| | Get the index for the given IPv6 extension type.
|
| static bool | cmp_ipv6_ext (const struct rohc_list_item *const item, const uint8_t ext_type, const uint8_t *const ext_data, const size_t ext_len) |
| | Compare two IPv6 items.
|
| void | rohc_comp_list_ipv6_new (struct list_comp *const comp, const size_t list_trans_nr, rohc_trace_callback2_t trace_cb, void *const trace_cb_priv, const int profile_id) |
| | Create one context for compressing lists of IPv6 extension headers.
|
| void | rohc_comp_list_ipv6_free (struct list_comp *const comp) |
| | Free one context for compressing lists of IPv6 extension headers.
|
Detailed Description
ROHC list compression of IPv6 extension headers.
- Author:
- Didier Barvaux <didier@barvaux.org>
Function Documentation
| static bool cmp_ipv6_ext |
( |
const struct rohc_list_item *const |
item, |
|
|
const uint8_t |
ext_type, |
|
|
const uint8_t *const |
ext_data, |
|
|
const size_t |
ext_len | |
|
) |
| | [static] |
Compare two IPv6 items.
- Parameters:
-
| item | The IPv6 item to compare |
| ext_type | The IPv6 Next Header type |
| ext_data | The IPv6 extension context |
| ext_len | The length (in bytes) of the IPv6 extension context |
- Returns:
- true if the two items are equal, false if they are different
| static int get_index_ipv6_table |
( |
const uint8_t |
next_header_type, |
|
|
const size_t |
occur_nr | |
|
) |
| | [static] |
Get the index for the given IPv6 extension type.
Handle GRE, Authentication (AH), MINE, and all IPv6 extension headers.
The list of IPv6 extension headers was retrieved from the registry maintained by IANA at: http://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml Remember to update rohc_is_ipv6_opt if you update the list.
- Parameters:
-
| next_header_type | The Next Header type to get an index for |
| occur_nr | The number of occurrence of the Extension Header seen so far (current one included) |
- Returns:
- The based table index
| void rohc_comp_list_ipv6_free |
( |
struct list_comp *const |
comp |
) |
|
Free one context for compressing lists of IPv6 extension headers.
- Parameters:
-
| comp | The context to destroy |
| void rohc_comp_list_ipv6_new |
( |
struct list_comp *const |
comp, |
|
|
const size_t |
list_trans_nr, |
|
|
rohc_trace_callback2_t |
trace_cb, |
|
|
void *const |
trace_cb_priv, |
|
|
const int |
profile_id | |
|
) |
| | |
Create one context for compressing lists of IPv6 extension headers.
- Parameters:
-
| comp | The context to create |
| list_trans_nr | The number of uncompressed transmissions (L) |
| trace_cb | The function to call for printing traces |
| trace_cb_priv | An optional private context, may be NULL |
| profile_id | The ID of the associated decompression profile |