26 #ifndef ROHC_COMMON_LIST_H 27 #define ROHC_COMMON_LIST_H 36 #define ROHC_LIST_MAX_ITEM 16U 37 #if ROHC_LIST_MAX_ITEM <= 7 38 # error "translation table must be larger enough for indexes stored on 3 bits" 54 #define ROHC_LIST_GEN_ID_MAX 0xffU 55 #define ROHC_LIST_GEN_ID_ANON (ROHC_LIST_GEN_ID_MAX + 1) 56 #define ROHC_LIST_GEN_ID_NONE (ROHC_LIST_GEN_ID_MAX + 2) 67 #define ROHC_LIST_ITEMS_MAX 15U 96 #define ROHC_LIST_ITEM_DATA_MAX 2048U 107 const uint8_t ext_type,
108 const uint8_t *
const ext_data,
109 const size_t ext_len)
110 __attribute__((warn_unused_result, nonnull(1, 3)));
119 __attribute__((nonnull(1)));
123 __attribute__((warn_unused_result, nonnull(1, 2), pure));
127 __attribute__((warn_unused_result, nonnull(1, 2), pure));
130 __attribute__((nonnull(1)));
134 const uint8_t item_type,
135 const uint8_t *
const item_data,
136 const size_t item_len)
137 __attribute__((warn_unused_result, nonnull(2, 4)));
Definition: ip_numbers.h:62
Definition: ip_numbers.h:70
bool known
Definition: rohc_list.h:86
void rohc_list_reset(struct rohc_list *const list)
Reset the state of the given compressed list.
Definition: rohc_list.c:45
Definition: rohc_list.h:46
unsigned int id
Definition: rohc_list.h:65
bool rohc_list_supersede(const struct rohc_list *const large, const struct rohc_list *const small)
Does the first list contains the second list?
Definition: rohc_list.c:86
size_t items_nr
Definition: rohc_list.h:71
struct rohc_list_item * items[ROHC_LIST_ITEMS_MAX]
Definition: rohc_list.h:69
Definition: rohc_list.h:48
ext_header_version type
Definition: rohc_list.h:83
bool rohc_list_equal(const struct rohc_list *const list1, const struct rohc_list *const list2)
Are the two given lists equal?
Definition: rohc_list.c:66
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
int rohc_list_item_update_if_changed(rohc_list_item_cmp cmp_item, struct rohc_list_item *const list_item, const uint8_t item_type, const uint8_t *const item_data, const size_t item_len)
Update the content of the given compressed item if it changed.
Definition: rohc_list.c:143
#define ROHC_LIST_ITEMS_MAX
Definition: rohc_list.h:67
Definition: ip_numbers.h:74
void rohc_list_item_reset(struct rohc_list_item *const list_item)
Reset the given list item.
Definition: rohc_list.c:120
size_t counter
Definition: rohc_list.h:88
Definition: rohc_list.h:45
Definition: ip_numbers.h:52
#define ROHC_LIST_ITEM_DATA_MAX
The maximum length (in bytes) of item data.
Definition: rohc_list.h:96
ext_header_version
Header version.
Definition: rohc_list.h:43
size_t length
Definition: rohc_list.h:99
A list item.
Definition: rohc_list.h:80
size_t counter
Definition: rohc_list.h:73
Define a list for compression.
Definition: rohc_list.h:62
Definition: rohc_list.h:47
Defines the IPv4 protocol numbers.