Go to the documentation of this file. 1 #ifndef COMPRESSOR_CONFIG_H_
2 #define COMPRESSOR_CONFIG_H_
11 #define WINDOW_SIZE_BITS 1
12 #define MIC_C_SIZE_BITS 1
14 #if !(RULE_SIZE_BITS % 8)
15 #define RULE_SIZE_BYTES (RULE_SIZE_BITS / 8)
17 #define RULE_SIZE_BYTES (RULE_SIZE_BITS / 8) + 1
20 #if !(((RULE_SIZE_BITS + DTAG_SIZE_BITS) / 8) % 8)
21 #define DTAG_SIZE_BYTES ((RULE_SIZE_BITS + DTAG_SIZE_BITS) / 8)
23 #define DTAG_SIZE_BYTES ((RULE_SIZE_BITS + DTAG_SIZE_BITS) / 8) + 1
26 #if !(((RULE_SIZE_BITS + DTAG_SIZE_BITS + WINDOW_SIZE_BITS) / 8) % 8)
27 #define WINDOW_SIZE_BYTES 1
29 #define WINDOW_SIZE_BYTES ((RULE_SIZE_BITS + DTAG_SIZE_BITS + WINDOW_SIZE_BITS) / 8) + 1
69 uint8_t (*
MO)(
struct schc_field* target_field,
unsigned char* field_value, uint16_t field_offset);
95 struct schc_coap_rule_t {
124 const struct schc_coap_rule_t* coap_rule;
173 static uint8_t
equal(
struct schc_field* target_field,
unsigned char* field_value, uint16_t field_offset);
174 static uint8_t
ignore(
struct schc_field* target_field,
unsigned char* field_value, uint16_t field_offset);
175 static uint8_t
MSB(
struct schc_field* target_field,
unsigned char* field_value, uint16_t field_offset);
176 static uint8_t
matchmap(
struct schc_field* target_field,
unsigned char* field_value, uint16_t field_offset);
schc_layer_t
Definition: schc.h:52
uint16_t srcport
Definition: schc.h:167
#define MAX_FIELD_LENGTH
Definition: schc_config.h:24
uint16_t udplen
Definition: schc.h:169
uint8_t MAX_WND_FCN
Definition: schc.h:138
uint16_t destport
Definition: schc.h:168
#define UDP_FIELDS
Definition: schc_config.h:28
schc_ip6addr_t destipaddr
Definition: schc.h:164
uint8_t length
Definition: schc.h:109
uint8_t field_length
Definition: schc.h:65
uint8_t DTAG_SIZE
Definition: schc.h:142
reliability_mode
Definition: schc.h:58
struct schc_field content[UDP_FIELDS]
Definition: schc.h:90
uint16_t rule_id
Definition: schc.h:106
uint8_t MO_param_length
Definition: schc.h:64
struct schc_bitarray_t schc_bitarray_t
static uint8_t equal(struct schc_field *target_field, unsigned char *field_value, uint16_t field_offset)
uint16_t flow
Definition: schc.h:161
#define IPV6_FIELDS
Definition: schc_config.h:27
const struct schc_compression_rule_t * compression_rule
Definition: schc.h:132
uint8_t down
Definition: schc.h:108
const struct schc_udp_rule_t * udp_rule
Definition: schc.h:120
char field[32]
Definition: schc.h:63
direction
Definition: schc.h:37
uint8_t length
Definition: schc.h:89
uint8_t schc_ip6addr_t[16]
Definition: schc.h:154
uint8_t WINDOW_SIZE
Definition: schc.h:140
uint8_t FCN_SIZE
Definition: schc.h:136
uint8_t field_pos
Definition: schc.h:66
uint16_t rule_id
Definition: schc.h:86
schc_ip6addr_t schc_ipaddr_t
Definition: schc.h:155
uint32_t offset
Definition: schc.h:34
uint8_t ttl
Definition: schc.h:163
uint8_t(* MO)(struct schc_field *target_field, unsigned char *field_value, uint16_t field_offset)
Definition: schc.h:69
uint32_t device_id
Definition: schc.h:147
static uint8_t MSB(struct schc_field *target_field, unsigned char *field_value, uint16_t field_offset)
uint8_t length
Definition: schc.h:79
uint8_t up
Definition: schc.h:87
static uint8_t ignore(struct schc_field *target_field, unsigned char *field_value, uint16_t field_offset)
#define COAP_FIELDS
Definition: schc_config.h:29
uint8_t tcf
Definition: schc.h:160
uint8_t down
Definition: schc.h:78
uint8_t len[2]
Definition: schc.h:162
uint8_t up
Definition: schc.h:77
unsigned char target_value[MAX_FIELD_LENGTH]
Definition: schc.h:68
reliability_mode mode
Definition: schc.h:134
uint8_t down
Definition: schc.h:88
uint16_t rule_id
Definition: schc.h:76
uint8_t up
Definition: schc.h:107
uint8_t proto
Definition: schc.h:163
uint8_t vtc
Definition: schc.h:159
static uint8_t matchmap(struct schc_field *target_field, unsigned char *field_value, uint16_t field_offset)
CDA action
Definition: schc.h:70
const struct schc_ipv6_rule_t * ipv6_rule
Definition: schc.h:116
#define RULE_SIZE_BYTES
Definition: schc.h:15
schc_ip6addr_t srcipaddr
Definition: schc.h:164
uint16_t udpchksum
Definition: schc.h:170
struct schc_field content[]
Definition: schc.h:110
direction dir
Definition: schc.h:67
uint8_t rule_count
Definition: schc.h:149
struct schc_field content[IPV6_FIELDS]
Definition: schc.h:80
uint8_t * ptr
Definition: schc.h:33