ROHC compression/decompression library
|
Define list compression with its function. More...
#include <netinet/ip6.h>
Go to the source code of this file.
Data Structures | |
struct | rohc_list_item |
A list item. More... | |
struct | list_elt |
Define a generic element in a compression list. More... | |
struct | c_list |
Define a list for compression. More... | |
struct | c_translation |
Define a compression translation table element. More... | |
struct | d_translation |
Define a decompression translation table element. More... | |
Enumerations | |
enum | ext_header_version { HBH = 0, DEST = 60, RTHDR = 43, AH = 51 } |
Header version. More... | |
Functions | |
int | create_list (struct c_list *list) |
Create one compression_list. | |
int | add_elt (struct c_list *list, struct rohc_list_item *item, int index) |
Add an element at the begin of the list. | |
int | push_back (struct c_list *list, struct rohc_list_item *item, int index) |
Add an element at the end of the list. | |
void | delete_elt (struct c_list *list, struct rohc_list_item *item) |
Delete the specified element of the list. | |
struct list_elt * | get_elt (struct c_list *list, int index) |
Get the element at the specified index. | |
int | elt_index (struct c_list *list, struct rohc_list_item *item) |
Get the index of the specified element in the list. | |
int | type_is_present (struct c_list *list, struct rohc_list_item *item) |
Indicate if the type of the specified element is present. | |
void | destroy_list (struct c_list *list) |
Destroy the list. | |
int | insert_elt (struct c_list *list, struct rohc_list_item *item, int index, int index_table) |
Insert an element at the specified position. | |
size_t | size_list (const struct c_list *const list) |
Get the size of the given list. | |
void | empty_list (struct c_list *list) |
Empty the list. |
Define list compression with its function.
enum ext_header_version |
int add_elt | ( | struct c_list * | list, |
struct rohc_list_item * | item, | ||
int | index | ||
) |
Add an element at the begin of the list.
list | the list where the element is added |
item | the item of the new element |
index | the index in based table |
References c_list::first_elt, list_elt::index_table, list_elt::item, list_elt::next_elt, list_elt::prev_elt, and rohc_debugf.
Referenced by insert_elt(), and push_back().
int create_list | ( | struct c_list * | list | ) |
Create one compression_list.
Functions prototypes
References c_list::first_elt, c_list::gen_id, and rohc_debugf.
void delete_elt | ( | struct c_list * | list, |
struct rohc_list_item * | item | ||
) |
Delete the specified element of the list.
list | the list where the element is destroyed |
item | the element to delete |
References c_list::first_elt, list_elt::item, list_elt::next_elt, and list_elt::prev_elt.
Referenced by c_create_current_list(), and rohc_list_decide_ipv6_compression().
void destroy_list | ( | struct c_list * | list | ) |
Destroy the list.
list | the list to destroy |
References c_list::first_elt, and list_elt::next_elt.
Referenced by c_generic_destroy(), and d_generic_destroy().
int elt_index | ( | struct c_list * | list, |
struct rohc_list_item * | item | ||
) |
Get the index of the specified element in the list.
list | the list where is the element |
item | the specified element |
References c_list::first_elt, list_elt::item, and list_elt::next_elt.
Referenced by c_create_current_list().
void empty_list | ( | struct c_list * | list | ) |
Empty the list.
list | the list to empty |
References c_list::first_elt, list_elt::next_elt, list_elt::prev_elt, and rohc_debugf.
Referenced by rohc_list_decide_ipv6_compression().
Get the element at the specified index.
list | the list where is the element |
index | the specified index |
References c_list::first_elt, list_elt::next_elt, and size_list().
Referenced by c_create_current_list(), d_decode_dynamic_ip6(), rohc_list_decide_ipv6_compression(), rohc_list_decide_type(), rohc_list_encode_type_0(), rohc_list_encode_type_1(), rohc_list_encode_type_2(), and rohc_list_encode_type_3().
int insert_elt | ( | struct c_list * | list, |
struct rohc_list_item * | item, | ||
int | index, | ||
int | index_table | ||
) |
Insert an element at the specified position.
list | The list in which the element is inserted |
item | The element to insert |
index | The position |
index_table | The index in based_table |
References add_elt(), c_list::first_elt, list_elt::index_table, list_elt::item, list_elt::next_elt, list_elt::prev_elt, rohc_debugf, and size_list().
Referenced by c_create_current_list(), and rohc_list_decide_ipv6_compression().
int push_back | ( | struct c_list * | list, |
struct rohc_list_item * | item, | ||
int | index | ||
) |
Add an element at the end of the list.
list | the list where the element is added |
item | the item of the new element |
index | the index in based table |
References add_elt(), c_list::first_elt, list_elt::index_table, list_elt::item, list_elt::next_elt, list_elt::prev_elt, and rohc_debugf.
Referenced by c_create_current_list().
Get the size of the given list.
list | The list |
References c_list::first_elt, and list_elt::next_elt.
Referenced by build_uncompressed_ip6(), code_ipv6_dynamic_part(), d_decode_dynamic_ip6(), get_elt(), insert_elt(), rohc_list_decide_ipv6_compression(), rohc_list_decide_type(), rohc_list_encode_type_0(), rohc_list_encode_type_1(), rohc_list_encode_type_2(), and rohc_list_encode_type_3().
int type_is_present | ( | struct c_list * | list, |
struct rohc_list_item * | item | ||
) |
Indicate if the type of the specified element is present.
list | the list where is the element |
item | the specified element |
References c_list::first_elt, list_elt::item, list_elt::next_elt, rohc_debugf, and rohc_list_item::type.
Referenced by rohc_list_decide_type(), rohc_list_encode_type_1(), rohc_list_encode_type_2(), and rohc_list_encode_type_3().