|
roo_io
API Documentation for roo_io
|
#include <stdbool.h>#include <stddef.h>#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | cobs_enc_ctx |
| struct | cobs_decode_inc_ctx |
| struct | cobs_decode_inc_args |
Macros | |
| #define | COBS_ENCODE_MAX(DECODED_LEN) (1 + (DECODED_LEN) + (((DECODED_LEN) + 253) / 254) + ((DECODED_LEN) == 0)) |
Typedefs | |
| typedef struct cobs_enc_ctx | cobs_enc_ctx_t |
| typedef struct cobs_decode_inc_ctx | cobs_decode_inc_ctx_t |
| typedef struct cobs_decode_inc_args | cobs_decode_inc_args_t |
Enumerations | |
| enum | cobs_ret_t { COBS_RET_SUCCESS = 0 , COBS_RET_ERR_BAD_ARG , COBS_RET_ERR_BAD_PAYLOAD , COBS_RET_ERR_EXHAUSTED } |
| enum | { COBS_FRAME_DELIMITER = 0x00 , COBS_TINYFRAME_SENTINEL_VALUE = 0x5A , COBS_TINYFRAME_SAFE_BUFFER_SIZE = 256 } |
Functions | |
| cobs_ret_t | cobs_encode_tinyframe (void *buf, size_t len) |
| cobs_ret_t | cobs_decode_tinyframe (void *buf, size_t len) |
| cobs_ret_t | cobs_decode (void const *enc, size_t enc_len, void *out_dec, size_t dec_max, size_t *out_dec_len) |
| cobs_ret_t | cobs_encode (void const *dec, size_t dec_len, void *out_enc, size_t enc_max, size_t *out_enc_len) |
| cobs_ret_t | cobs_encode_inc_begin (void *out_enc, size_t enc_max, cobs_enc_ctx_t *out_ctx) |
| cobs_ret_t | cobs_encode_inc (cobs_enc_ctx_t *ctx, void const *dec_src, size_t dec_len) |
| cobs_ret_t | cobs_encode_inc_end (cobs_enc_ctx_t *ctx, size_t *out_enc_len) |
| cobs_ret_t | cobs_decode_inc_begin (cobs_decode_inc_ctx_t *ctx) |
| cobs_ret_t | cobs_decode_inc (cobs_decode_inc_ctx_t *ctx, cobs_decode_inc_args_t const *args, size_t *out_enc_src_len, size_t *out_dec_dst_len, bool *out_decode_complete) |
| #define COBS_ENCODE_MAX | ( | DECODED_LEN | ) | (1 + (DECODED_LEN) + (((DECODED_LEN) + 253) / 254) + ((DECODED_LEN) == 0)) |
| typedef struct cobs_decode_inc_args cobs_decode_inc_args_t |
| typedef struct cobs_decode_inc_ctx cobs_decode_inc_ctx_t |
| typedef struct cobs_enc_ctx cobs_enc_ctx_t |
| anonymous enum |
| enum cobs_ret_t |
| cobs_ret_t cobs_decode | ( | void const * | enc, |
| size_t | enc_len, | ||
| void * | out_dec, | ||
| size_t | dec_max, | ||
| size_t * | out_dec_len | ||
| ) |
Definition at line 175 of file cobs.c.
References cobs_decode_inc(), cobs_decode_inc_begin(), COBS_RET_ERR_BAD_ARG, COBS_RET_ERR_EXHAUSTED, and COBS_RET_SUCCESS.
| cobs_ret_t cobs_decode_inc | ( | cobs_decode_inc_ctx_t * | ctx, |
| cobs_decode_inc_args_t const * | args, | ||
| size_t * | out_enc_src_len, | ||
| size_t * | out_dec_dst_len, | ||
| bool * | out_decode_complete | ||
| ) |
Definition at line 216 of file cobs.c.
References cobs_decode_inc_ctx::block, COBS_RET_ERR_BAD_ARG, COBS_RET_ERR_BAD_PAYLOAD, COBS_RET_SUCCESS, cobs_decode_inc_ctx::code, cobs_decode_inc_args::dec_dst, cobs_decode_inc_args::dec_dst_max, cobs_decode_inc_args::enc_src, cobs_decode_inc_args::enc_src_max, and cobs_decode_inc_ctx::state.
Referenced by cobs_decode().
| cobs_ret_t cobs_decode_inc_begin | ( | cobs_decode_inc_ctx_t * | ctx | ) |
Definition at line 208 of file cobs.c.
References COBS_RET_ERR_BAD_ARG, COBS_RET_SUCCESS, and cobs_decode_inc_ctx::state.
Referenced by cobs_decode().
| cobs_ret_t cobs_decode_tinyframe | ( | void * | buf, |
| size_t | len | ||
| ) |
Definition at line 39 of file cobs.c.
References COBS_FRAME_DELIMITER, COBS_RET_ERR_BAD_ARG, COBS_RET_ERR_BAD_PAYLOAD, COBS_RET_SUCCESS, and COBS_TFSV.
| cobs_ret_t cobs_encode | ( | void const * | dec, |
| size_t | dec_len, | ||
| void * | out_enc, | ||
| size_t | enc_max, | ||
| size_t * | out_enc_len | ||
| ) |
Definition at line 64 of file cobs.c.
References cobs_encode_inc(), cobs_encode_inc_begin(), cobs_encode_inc_end(), COBS_RET_ERR_BAD_ARG, and COBS_RET_SUCCESS.
| cobs_ret_t cobs_encode_inc | ( | cobs_enc_ctx_t * | ctx, |
| void const * | dec_src, | ||
| size_t | dec_len | ||
| ) |
Definition at line 101 of file cobs.c.
References COBS_RET_ERR_BAD_ARG, COBS_RET_ERR_EXHAUSTED, COBS_RET_SUCCESS, cobs_enc_ctx::code, cobs_enc_ctx::code_idx, cobs_enc_ctx::cur, cobs_enc_ctx::dst, cobs_enc_ctx::dst_max, and cobs_enc_ctx::need_advance.
Referenced by cobs_encode().
| cobs_ret_t cobs_encode_inc_begin | ( | void * | out_enc, |
| size_t | enc_max, | ||
| cobs_enc_ctx_t * | out_ctx | ||
| ) |
Definition at line 84 of file cobs.c.
References COBS_RET_ERR_BAD_ARG, COBS_RET_SUCCESS, cobs_enc_ctx::code, cobs_enc_ctx::code_idx, cobs_enc_ctx::cur, cobs_enc_ctx::dst, cobs_enc_ctx::dst_max, and cobs_enc_ctx::need_advance.
Referenced by cobs_encode().
| cobs_ret_t cobs_encode_inc_end | ( | cobs_enc_ctx_t * | ctx, |
| size_t * | out_enc_len | ||
| ) |
Definition at line 162 of file cobs.c.
References COBS_FRAME_DELIMITER, COBS_RET_ERR_BAD_ARG, COBS_RET_SUCCESS, cobs_enc_ctx::code, cobs_enc_ctx::code_idx, cobs_enc_ctx::cur, and cobs_enc_ctx::dst.
Referenced by cobs_encode().
| cobs_ret_t cobs_encode_tinyframe | ( | void * | buf, |
| size_t | len | ||
| ) |
Definition at line 8 of file cobs.c.
References COBS_FRAME_DELIMITER, COBS_RET_ERR_BAD_ARG, COBS_RET_ERR_BAD_PAYLOAD, COBS_RET_SUCCESS, and COBS_TFSV.