libschc
compressor.h
Go to the documentation of this file.
1 /* (c) 2018 - idlab - UGent - imec
2  *
3  * Bart Moons
4  *
5  * This file is part of the SCHC stack implementation
6  *
7  */
8 
9 #ifndef __SCHCCOMPRESSOR_H__
10 #define __SCHCCOMPRESSOR_H__
11 
12 #include "bit_operations.h"
13 #include "schc.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 int8_t set_rule_id(struct schc_rule_t* schc_rule, uint8_t* data);
20 
21 uint8_t schc_compressor_init(uint8_t src[16]);
22 int16_t schc_compress(uint8_t *data, uint16_t total_length,
23  schc_bitarray_t* buf, uint32_t device_id, direction dir,
24  struct schc_rule_t **schc_rule);
25 
27  struct schc_rule_t* schc_rule, reliability_mode mode,
28  uint32_t device_id);
29 
30 struct schc_rule_t* get_schc_rule_by_rule_id(uint8_t* rule_id,
31  uint32_t device_id);
32 
33 uint16_t schc_decompress(schc_bitarray_t* bit_arr, uint8_t *buf,
34  uint32_t device_id, uint16_t total_length, direction dir);
35 
36 #ifdef __cplusplus
37 }
38 #endif
39 
40 #endif
schc_bitarray_t
Definition: schc.h:32
get_schc_rule_by_reliability_mode
struct schc_rule_t * get_schc_rule_by_reliability_mode(struct schc_rule_t *schc_rule, reliability_mode mode, uint32_t device_id)
Definition: compressor.c:101
reliability_mode
reliability_mode
Definition: schc.h:58
schc_decompress
uint16_t schc_decompress(schc_bitarray_t *bit_arr, uint8_t *buf, uint32_t device_id, uint16_t total_length, direction dir)
Construct the header from the layered set of rules.
Definition: compressor.c:1075
schc_rule_t
Definition: schc.h:128
schc.h
direction
direction
Definition: schc.h:37
schc_compressor_init
uint8_t schc_compressor_init(uint8_t src[16])
Initializes the SCHC compressor.
Definition: compressor.c:823
get_schc_rule_by_rule_id
struct schc_rule_t * get_schc_rule_by_rule_id(uint8_t *rule_id, uint32_t device_id)
Definition: compressor.c:186
bit_operations.h
schc_compress
int16_t schc_compress(uint8_t *data, uint16_t total_length, schc_bitarray_t *buf, uint32_t device_id, direction dir, struct schc_rule_t **schc_rule)
Compresses a CoAP/UDP/IP packet.
Definition: compressor.c:850
schc_rule_t::mode
reliability_mode mode
Definition: schc.h:134
set_rule_id
int8_t set_rule_id(struct schc_rule_t *schc_rule, uint8_t *data)
Definition: compressor.c:76