Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
bin
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

cb0r - Minimal Zero-Footprint CBOR Decoder in C

A one-pass minimal malloc-free walk of the raw bytes using a fast jump table to determine state transitions and decode a result.

  • public domain, single cb0r.c file with one ~200 line function
  • easy to use, just returns a given type, value, and offset locations in the bytes
  • no dependencies, designed for embedded use
  • requires no memory/malloc or copying, uses only what is passed in
  • safely stops on anything invalid

For other CBOR implementations check http://cbor.io/impls.html.

Usage

uint8_t *cb0r(uint8_t *start, uint8_t *stop, uint32_t skip, cb0r_t result)

  • processes one item by default into result (if provided)
  • returns end pointer to byte following the item value (may be == stop for complete, > stop for item value length overflow)
  • can very efficiently skip any number of leading items of any type
  • see header for result structure and types
  • fully supports maps, arrays, and indefinite length types

About

Minimal Zero-Footprint CBOR Decoder in C

Resources

License

Releases

No releases published

Packages

No packages published