• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

cmake/22-Nov-2023-590491

include/22-Nov-2023-405123

src/22-Nov-2023-1,016847

test/22-Nov-2023-1,3441,157

.editorconfigD22-Nov-2023323 1612

.gitD01-Jan-19700

.gitignoreD22-Nov-202325 54

.travis.ymlD22-Nov-2023406 1817

Android.bpD22-Nov-2023500 3330

CMakeLists.txtD22-Nov-20234.2 KiB137112

Doxyfile.inD22-Nov-2023406 109

LICENSED22-Nov-20231.1 KiB2217

METADATAD22-Nov-2023388 1816

MODULE_LICENSE_MITD22-Nov-20230

README.mdD22-Nov-20231.4 KiB4529

Simple-MakefileD22-Nov-20231 KiB2618

build.shD22-Nov-202387 64

cn-cbor.pc.inD22-Nov-2023268 1210

README.md

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