26 #ifndef ROHC_COMP_LIST_H
27 #define ROHC_COMP_LIST_H
34 #define rc_list_debug(comp_list, format, ...) \
35 rohc_debug(comp_list, ROHC_TRACE_COMP, (comp_list)->profile_id, \
36 format, ##__VA_ARGS__)
63 __attribute__((warn_unused_result,
const));
66 unsigned short (*
get_size)(
const uint8_t *ext);
84 bool *
const list_struct_changed,
85 bool *
const list_content_changed)
86 __attribute__((warn_unused_result, nonnull(1, 2, 3, 4)));
91 __attribute__((warn_unused_result, nonnull(1, 2)));
94 __attribute__((nonnull(1)));
bool detect_ipv6_ext_changes(struct list_comp *const comp, const struct ip_packet *const ip, bool *const list_struct_changed, bool *const list_content_changed)
Detect changes within the list of IPv6 extension headers.
Definition: comp_list.c:133
int rohc_list_encode(struct list_comp *const comp, uint8_t *const dest, int counter)
Generic encoding of compressed list.
Definition: comp_list.c:335
int profile_id
Definition: comp_list.h:78
struct rohc_list lists[ROHC_LIST_GEN_ID_MAX+2]
Definition: comp_list.h:48
unsigned int cur_id
Definition: comp_list.h:53
void(* rohc_trace_callback2_t)(void *const priv_ctxt, const rohc_trace_level_t level, const rohc_trace_entity_t entity, const int profile, const char *const format,...)
The function prototype for the trace callback.
Definition: rohc_traces.h:118
rohc_trace_callback2_t trace_callback
Definition: comp_list.h:74
size_t list_trans_nr
Definition: comp_list.h:57
void * trace_callback_priv
Definition: comp_list.h:76
Define list compression with its function.
int(* get_index_table)(const uint8_t type, const size_t occur_nr)
the handler used to get the index of an item
Definition: comp_list.h:62
bool(* rohc_list_item_cmp)(const struct rohc_list_item *const item, const uint8_t ext_type, const uint8_t *const ext_data, const size_t ext_len)
Definition: rohc_list.h:106
#define ROHC_LIST_GEN_ID_MAX
Definition: rohc_list.h:54
#define ROHC_LIST_MAX_ITEM
Definition: rohc_list.h:36
void rohc_list_update_context(struct list_comp *const comp)
Update the list compression context.
Definition: comp_list.c:403
unsigned int ref_id
Definition: comp_list.h:51
The list compressor.
Definition: comp_list.h:42
A list item.
Definition: rohc_list.h:80
Defines an IP-agnostic packet that can handle an IPv4 or IPv6 packet.
Definition: ip.h:81
size_t counter
Definition: rohc_list.h:73
Define a list for compression.
Definition: rohc_list.h:62
unsigned short(* get_size)(const uint8_t *ext)
the handler used to get the size of an item
Definition: comp_list.h:66
rohc_list_item_cmp cmp_item
Definition: comp_list.h:69
struct rohc_list_item trans_table[ROHC_LIST_MAX_ITEM]
Definition: comp_list.h:45
Internal ROHC macros and functions for traces.