8#ifndef ZEPHYR_INCLUDE_DATA_COBS_H_
9#define ZEPHYR_INCLUDE_DATA_COBS_H_
34#define COBS_DEFAULT_DELIMITER 0x00
42#define COBS_FLAG_TRAILING_DELIMITER BIT(8)
61#define COBS_FLAG_CUSTOM_DELIMITER(x) ((x) & 0xff)
90 return decoded_size + decoded_size / 254 + 1 + 1;
92 return decoded_size + decoded_size / 254 + 1;
#define COBS_FLAG_TRAILING_DELIMITER
Flag indicating that encode or decode should include a trailing delimiter.
Definition cobs.h:42
int cobs_encoder_close(struct cobs_encoder *enc)
Finalize COBS streaming encoder.
int cobs_decoder_write(struct cobs_decoder *dec, const uint8_t *buf, size_t len)
Write data to COBS streaming decoder.
int cobs_decoder_init(struct cobs_decoder *dec, cobs_stream_cb cb, void *user_data, uint32_t flags)
Initialize COBS streaming decoder.
static size_t cobs_max_encoded_len(size_t decoded_size, uint32_t flags)
Calculate maximum encoded buffer size.
Definition cobs.h:87
int cobs_encoder_write(struct cobs_encoder *enc, const uint8_t *buf, size_t len)
Write data to COBS streaming encoder.
int cobs_decode(struct net_buf *src, struct net_buf *dst, uint32_t flags)
COBS decoding.
int cobs_decoder_close(struct cobs_decoder *dec)
Finalize COBS streaming decoder.
int cobs_encode(struct net_buf *src, struct net_buf *dst, uint32_t flags)
COBS encoding.
int(* cobs_stream_cb)(const uint8_t *buf, size_t len, void *user_data)
Callback function type for streaming COBS encoder/decoder.
Definition cobs.h:144
int cobs_encoder_init(struct cobs_encoder *enc, cobs_stream_cb cb, void *user_data, uint32_t flags)
Initialize COBS streaming encoder.
flags
Definition parser.h:97
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
COBS streaming decoder state.
Definition cobs.h:172
COBS streaming encoder state.
Definition cobs.h:152
Network buffer representation.
Definition net_buf.h:1006