1*5dd36a3bSchristos 2*5dd36a3bSchristos 3*5dd36a3bSchristos 4*5dd36a3bSchristos<!DOCTYPE html> 5*5dd36a3bSchristos<html lang="en-us"> 6*5dd36a3bSchristos <head> 7*5dd36a3bSchristos <meta charset="UTF-8"> 8*5dd36a3bSchristos <title>libcbor - CBOR format implementation</title> 9*5dd36a3bSchristos <meta name="viewport" content="width=device-width, initial-scale=1"> 10*5dd36a3bSchristos <link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen"> 11*5dd36a3bSchristos <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'> 12*5dd36a3bSchristos <link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen"> 13*5dd36a3bSchristos <link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen"> 14*5dd36a3bSchristos </head> 15*5dd36a3bSchristos <body> 16*5dd36a3bSchristos <section class="page-header"> 17*5dd36a3bSchristos <h1 class="project-name">libcbor</h1> 18*5dd36a3bSchristos <h2 class="project-tagline">CBOR format implementation for C & others</h2> 19*5dd36a3bSchristos <h2 class="project-tagline">Latest release: v0.5.0</h2> 20*5dd36a3bSchristos <a href="https://github.com/PJK/libcbor" class="btn">View on GitHub</a> 21*5dd36a3bSchristos <a href="https://github.com/PJK/libcbor/archive/v0.5.0.tar.gz" class="btn">Download source</a> 22*5dd36a3bSchristos <a href="http://libcbor.readthedocs.io/en/v0.5.0/using.html" class="btn">Get started</a> 23*5dd36a3bSchristos </section> 24*5dd36a3bSchristos 25*5dd36a3bSchristos <section class="main-content"> 26*5dd36a3bSchristos 27*5dd36a3bSchristos 28*5dd36a3bSchristos<p><strong>libcbor</strong> is a C library for parsing and generating <a href="http://tools.ietf.org/html/rfc7049">CBOR</a>, the general-purpose schema-less binary data format.</p> 29*5dd36a3bSchristos 30*5dd36a3bSchristos<h2> 31*5dd36a3bSchristos<a id="main-features" class="anchor" href="#main-features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Main features</h2> 32*5dd36a3bSchristos 33*5dd36a3bSchristos<ul> 34*5dd36a3bSchristos <li>Complete RFC conformance</li> 35*5dd36a3bSchristos <li>Robust portable C99 implementation</li> 36*5dd36a3bSchristos <li>Layered architecture offers both control and convenience</li> 37*5dd36a3bSchristos <li>Flexible memory management</li> 38*5dd36a3bSchristos <li>Proper handling of UTF-8</li> 39*5dd36a3bSchristos <li>Full support for streams & incremental processing</li> 40*5dd36a3bSchristos <li>Extensive documentation and test suite</li> 41*5dd36a3bSchristos <li>No runtime dependencies, small footprint</li> 42*5dd36a3bSchristos <li>Tested across architectures and operating systems</li> 43*5dd36a3bSchristos</ul> 44*5dd36a3bSchristos 45*5dd36a3bSchristos<h2>A taste of the API</h2> 46*5dd36a3bSchristos<script src="https://gist.github.com/PJK/962a468886d24195d1ee.js"></script> 47*5dd36a3bSchristos 48*5dd36a3bSchristos<h2><a id="distrib" class="anchor" href="#distrib" aria-hidden="true"><span class="octicon octicon-link"></span></a>Distribution</h2> 49*5dd36a3bSchristos 50*5dd36a3bSchristos<h3>OS X</h3> 51*5dd36a3bSchristos<pre><code>brew tap pjk/libcbor 52*5dd36a3bSchristosbrew install libcbor 53*5dd36a3bSchristos</code></pre> 54*5dd36a3bSchristos 55*5dd36a3bSchristos<h3>Linux</h3> 56*5dd36a3bSchristos<p> 57*5dd36a3bSchristos Please refer to <a href="http://libcbor.readthedocs.io/en/latest/getting_started.html">the documentation</a> on how to build <i>libcbor</i>. 58*5dd36a3bSchristos</p> 59*5dd36a3bSchristos 60*5dd36a3bSchristos<p> 61*5dd36a3bSchristos deb and RPM packages can be built effortlessly using <a href="https://cmake.org/cmake/help/v3.0/module/CPack.html">CPack</a>. <i>libcbor</i> also comes with <a href="https://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a> support</li>. 62*5dd36a3bSchristos</p> 63*5dd36a3bSchristos 64*5dd36a3bSchristos<h3>Windows</h3> 65*5dd36a3bSchristos<p> 66*5dd36a3bSchristos Windows are supported and <a href="https://ci.appveyor.com/project/PJK/libcbor">tested for</a>. CMake can target both MSVC and Cygwin toolchains. Please refer to <a href="http://libcbor.readthedocs.io/en/latest/getting_started.html">the documentation</a> on how to do so. 67*5dd36a3bSchristos</p> 68*5dd36a3bSchristos 69*5dd36a3bSchristos<h3>Other platforms</h3> 70*5dd36a3bSchristos<p> 71*5dd36a3bSchristos As long as CMake and a C99 compiler are available, <i>libcbor</i> will work. Read more <a href="http://libcbor.readthedocs.io/en/latest/getting_started.html">here</a>. 72*5dd36a3bSchristos</p> 73*5dd36a3bSchristos 74*5dd36a3bSchristos<h2> 75*5dd36a3bSchristos<a id="documentation" class="anchor" href="#documentation" aria-hidden="true"><span class="octicon octicon-link"></span></a>Resources & documentation</h2> 76*5dd36a3bSchristos 77*5dd36a3bSchristos<ul> 78*5dd36a3bSchristos <li>User documentation is available online from <a href="http://libcbor.readthedocs.org/en/latest/">http://libcbor.readthedocs.org/en/latest/</a></li> 79*5dd36a3bSchristos <li>Detailed build instructions are a part of the documentation</li> 80*5dd36a3bSchristos <li>API reference is available either <a href="doxygen/index.html">online</a> or <a href="https://github.com/PJK/libcbor/releases/download/v0.5.0/libcbor_api_docs.tar.gz">as a part of the release</a></li> 81*5dd36a3bSchristos <li><a href="https://github.com/PJK/libcbor/issues">Bug tracker</a> 82*5dd36a3bSchristos <li><a href="https://github.com/PJK/libcbor/blob/master/CHANGELOG.md">Changelog</a> 83*5dd36a3bSchristos <li><a href="https://github.com/PJK/libcbor/releases">Older releases</a> 84*5dd36a3bSchristos</ul> 85*5dd36a3bSchristos 86*5dd36a3bSchristos<h2>Ruby bindings</h2> 87*5dd36a3bSchristos<p>If you write Ruby, you might be interested in the <a href="https://github.com/PJK/libcbor-ruby">Ruby bindings for <i>libcbor</i></a>.</p> 88*5dd36a3bSchristos 89*5dd36a3bSchristos 90*5dd36a3bSchristos<h2><a id="license" class="anchor" href="#license" aria-hidden="true"><span class="octicon octicon-link"></span></a>Licensing</h2> 91*5dd36a3bSchristos 92*5dd36a3bSchristos<p><i>libcbor</i> is distributed under the terms of the MIT license, as found in the source code.</p> 93*5dd36a3bSchristos 94*5dd36a3bSchristos<p>Copyright (c) Pavel Kalvoda, 2014 - 2017</p> 95*5dd36a3bSchristos 96*5dd36a3bSchristos <footer class="site-footer"> 97*5dd36a3bSchristos <span class="site-footer-owner"><a href="https://github.com/PJK/libcbor">libcbor</a> is maintained by <a href="https://github.com/PJK">PJK</a>.</span> 98*5dd36a3bSchristos <span class="site-footer-credits">This page is based on the <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a> by <a href="https://twitter.com/jasonlong">Jason Long</a>.</span> 99*5dd36a3bSchristos </footer> 100*5dd36a3bSchristos 101*5dd36a3bSchristos </section> 102*5dd36a3bSchristos 103*5dd36a3bSchristos<script> 104*5dd36a3bSchristos (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 105*5dd36a3bSchristos (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 106*5dd36a3bSchristos m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 107*5dd36a3bSchristos })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 108*5dd36a3bSchristos 109*5dd36a3bSchristos ga('create', 'UA-8187884-5', 'auto'); 110*5dd36a3bSchristos ga('send', 'pageview'); 111*5dd36a3bSchristos 112*5dd36a3bSchristos</script> 113*5dd36a3bSchristos </body> 114*5dd36a3bSchristos</html> 115