1[![Build Status](https://travis-ci.org/cabo/cn-cbor.png?branch=master)](https://travis-ci.org/cabo/cn-cbor) 2 3# cn-cbor: A constrained node implementation of CBOR in C 4 5This is a constrained node implementation of [CBOR](http://cbor.io) in 6C that I threw together in 2013, before the publication of 7[RFC 7049](http://tools.ietf.org/html/rfc7049), to validate certain 8implementability considerations. 9 10Its API model was inspired by 11[nxjson](https://bitbucket.org/yarosla/nxjson). It turns out that 12this API model actually works even better with the advantages of the 13CBOR format. 14 15This code has been used in a number of research implementations on 16constrained nodes, with resulting code sizes appreciably under 1 KiB 17on ARM platforms. 18 19I always meant to improve the interface some more with certain API 20changes, in order to get even closer to 0.5 KiB, but I ran out of 21time. So here it is. If I do get around to making these changes, the 22API will indeed change a bit, so please be forewarned. 23 24## Building 25 26There is a `Simple-Makefile` for playing around, as well as a complete 27[`cmake`](http://www.cmake.org)-based build environment. 28(You can choose what fits your needs better.) 29 30Building with `cmake`: 31 32 ./build.sh 33 34Building including testing: 35 36 ./build.sh all test 37 38Generating a test coverage report (requires lcov[^1]; result in `build/lcov/index.html`): 39 40 ./build.sh all coveralls coverage_report 41 42License: MIT 43 44[^1]: Installation with homebrew: `brew install lcov` 45