35 #ifndef LECP_MAX_PARSING_STACK_DEPTH
36 #define LECP_MAX_PARSING_STACK_DEPTH 5
38 #ifndef LECP_MAX_DEPTH
39 #define LECP_MAX_DEPTH 12
41 #ifndef LECP_MAX_INDEX_DEPTH
42 #define LECP_MAX_INDEX_DEPTH 8
45 #define LECP_MAX_PATH 128
47 #ifndef LECP_STRING_CHUNK
49 #define LECP_STRING_CHUNK 254
52 #define LECP_FLAG_CB_IS_VALUE 64
206 #if defined(LWS_WITH_CBOR_FLOAT)
465 const char *
const *paths,
unsigned char paths_count);
LWS_VISIBLE LWS_EXTERN void lws_lec_int(lws_lec_pctx_t *ctx, uint8_t opcode, uint8_t indet, uint64_t num)
@ LECPCB_ARRAY_ITEM_START
struct lws_lec_pctx lws_lec_pctx_t
const char *const * paths
LWS_VISIBLE LWS_EXTERN enum lws_lec_pctx_ret lws_lec_vsprintf(lws_lec_pctx_t *ctx, const char *format, va_list args)
LWS_VISIBLE LWS_EXTERN void lws_lec_init(lws_lec_pctx_t *ctx, uint8_t *buf, size_t len)
LWS_VISIBLE LWS_EXTERN int lecp_parse_map_is_key(struct lecp_ctx *ctx)
LWS_VISIBLE LWS_EXTERN void lecp_construct(struct lecp_ctx *ctx, lecp_callback cb, void *user, const char *const *paths, unsigned char paths_count)
#define LECP_STRING_CHUNK
struct _lecp_parsing_stack pst[LECP_MAX_PARSING_STACK_DEPTH]
signed char(* lecp_callback)(struct lecp_ctx *ctx, char reason)
LWS_VISIBLE LWS_EXTERN void lecp_parse_report_raw(struct lecp_ctx *ctx, int on)
@ LWS_LECPCTX_RET_FINISHED
@ LWS_CBOR_WKTAG_COSE_SIGN
@ LWS_CBOR_WKTAG_COSE_MAC0
@ LWS_CBOR_M7_SUBTYP_SIMPLE_X8
@ LWS_CBOR_WKTAG_BIGNUM_NEGATIVE
@ LWS_CBOR_M7_SUBTYP_FLOAT32
@ LWS_CBOR_WKTAG_SELFDESCCBOR
@ LWS_CBOR_M7_SUBTYP_FLOAT16
@ LWS_CBOR_WKTAG_COSE_MAC
@ LWS_CBOR_WKTAG_DATETIME_STD
@ LWS_CBOR_WKTAG_COSE_ENC0
@ LWS_CBOR_WKTAG_DECIMAL_FRAC
@ LWS_CBOR_MAJTYP_INT_NEG
@ LWS_CBOR_WKTAG_DATETIME_EPOCH
@ LWS_CBOR_WKTAG_BIGNUM_UNSIGNED
@ LWS_CBOR_WKTAG_COSE_SIGN1
@ LWS_CBOR_WKTAG_BIGFLOAT
@ LWS_CBOR_M7_SUBTYP_FLOAT64
@ LWS_CBOR_WKTAG_COSE_ENC
struct _lecp_stack st[LECP_MAX_DEPTH]
LWS_VISIBLE LWS_EXTERN void lws_lec_setbuf(lws_lec_pctx_t *ctx, uint8_t *buf, size_t len)
LWS_VISIBLE LWS_EXTERN int lecp_parse_subtree(struct lecp_ctx *ctx, const uint8_t *in, size_t len)
LWS_VISIBLE LWS_EXTERN void lws_halfp2singles(uint32_t *xp, uint16_t h)
const uint8_t * ongoing_src
uint16_t wild[LECP_MAX_INDEX_DEPTH]
uint8_t literal_cbor_report
uint8_t send_new_array_item
LWS_VISIBLE LWS_EXTERN enum lws_lec_pctx_ret lws_lec_printf(lws_lec_pctx_t *ctx, const char *format,...)
LWS_VISIBLE LWS_EXTERN int lws_lec_scratch(lws_lec_pctx_t *ctx)
uint16_t i[LECP_MAX_INDEX_DEPTH]
LWS_VISIBLE LWS_EXTERN void lecp_change_callback(struct lecp_ctx *ctx, lecp_callback cb)
LWS_VISIBLE LWS_EXTERN const char * lecp_error_to_string(int e)
LWS_VISIBLE LWS_EXTERN void lecp_destruct(struct lecp_ctx *ctx)
char buf[LECP_STRING_CHUNK+1]
#define LECP_FLAG_CB_IS_VALUE
#define LECP_MAX_PARSING_STACK_DEPTH
LWS_VISIBLE LWS_EXTERN int lecp_parse(struct lecp_ctx *ctx, const uint8_t *cbor, size_t len)
LWS_VISIBLE LWS_EXTERN void lws_singles2halfp(uint16_t *hp, uint32_t x)
#define LECP_MAX_INDEX_DEPTH