Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
 4.1.99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
cobs.h File Reference
#include <stddef.h>
#include <sys/types.h>
#include <zephyr/sys/util.h>
#include <zephyr/net_buf.h>

Go to the source code of this file.

Macros

#define COBS_DEFAULT_DELIMITER   0x00
 
#define COBS_FLAG_TRAILING_DELIMITER   BIT(8)
 Flag indicating that encode and decode should include an implicit end delimiter.
 
#define COBS_FLAG_CUSTOM_DELIMITER(x)
 Macro for extracting delimiter from flags.
 

Functions

static size_t cobs_max_encoded_len (size_t decoded_size, uint32_t flags)
 Calculate maximum encoded buffer size.
 
int cobs_encode (struct net_buf *src, struct net_buf *dst, uint32_t flags)
 Standard COBS encoding.
 
int cobs_decode (struct net_buf *src, struct net_buf *dst, uint32_t flags)
 Standard COBS decoding.
 

Macro Definition Documentation

◆ COBS_DEFAULT_DELIMITER

#define COBS_DEFAULT_DELIMITER   0x00

◆ COBS_FLAG_CUSTOM_DELIMITER

#define COBS_FLAG_CUSTOM_DELIMITER ( x)
Value:
((x) & 0xff)

Macro for extracting delimiter from flags.

8 LSB of "flags" is used for the delimiter Example usage: cobs_encode(src_buf, dst_buf, COBS_FLAG_TRAILING_DELIMITER | COBS_FLAG_CUSTOM_DELIMITER(0x7F));

◆ COBS_FLAG_TRAILING_DELIMITER

#define COBS_FLAG_TRAILING_DELIMITER   BIT(8)

Flag indicating that encode and decode should include an implicit end delimiter.