blob: a3fb810acf2bc768ac108f8f17c35bfed615c18f [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON &mdash; Apache Mynewt latest documentation</title>
<link rel="shortcut icon" href="../../../_static/mynewt-logo-only-newt32x32.png"/>
<link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/css/sphinx_theme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/css/v2.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/css/restructuredtext.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/css/overrides.css" type="text/css" />
<link rel="index" title="Index"
href="../../../genindex.html"/>
<link rel="search" title="Search" href="../../../search.html"/>
<link rel="top" title="Apache Mynewt latest documentation" href="../../../index.html"/>
<link rel="up" title="OS User Guide" href="../../os_user_guide.html"/>
<link rel="next" title="Manufacturing Support" href="../mfg/mfg.html"/>
<link rel="prev" title="testutil" href="../testutil/testutil.html"/>
<script src="../../../_static/js/modernizr.min.js"></script>
<script>
(function(i, s, o, g, r, a, m) {
i["GoogleAnalyticsObject"] = r;
(i[r] =
i[r] ||
function() {
(i[r].q = i[r].q || []).push(arguments);
}),
(i[r].l = 1 * new Date());
(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
</head>
<body class="not-front page-documentation" role="document" >
<div id="wrapper">
<div class="container">
<div id="banner" class="row v2-main-banner">
<a class="logo-cell" href="/">
<img class="logo" src="../../../_static/img/logo.png">
</a>
<div class="tagline-cell">
<h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
</div>
<div class="news-cell">
<div class="well">
<h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released April 4, 2024)
</div>
</div>
</div>
</div>
<header>
<nav id="navbar" class="navbar navbar-inverse" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav navbar-right">
<li>
<a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
</li>
<li class="important">
<a href="/quick-start/">Quick Start</a>
</li>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/talks/">Talks</a>
</li>
<li class="active">
<a href="/documentation/">Documentation</a>
</li>
<li>
<a href="/download/">Download</a>
</li>
<li>
<a href="/community/">Community</a>
</li>
<li>
<a href="/events/">Events</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
</ul>
</div>
</div>
</nav>
</header>
<!-- STARTS MAIN CONTENT -->
<div id="main-content">
<div id="breadcrumb">
<div class="container">
<a href="/documentation/">Docs</a> /
<a href="../../os_user_guide.html">OS User Guide</a> /
JSON
<div class="sourcelink">
<a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/json/json.rst" class="icon icon-github"
rel="nofollow"> Edit on GitHub</a>
</div>
</div>
</div>
<!-- STARTS CONTAINER -->
<div class="container">
<!-- STARTS .content -->
<div id="content" class="row">
<!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
<div id="docSidebar" class="sticky-container">
<div role="search" class="sphinx-search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
<option value="/latest" selected>
Version: latest
</option>
<option value="/v1_12_0" >
Version: 1.12.0
</option>
<option value="/v1_11_0" >
Version: 1.11.0
</option>
<option value="/v1_10_0" >
Version: 1.10.0
</option>
<option value="/v1_9_0" selected="selected" >
Version: 1.9.0
</option>
<option value="/v1_8_0" >
Version: 1.8.0
</option>
<option value="/v1_7_0" >
Version: 1.7.0
</option>
<option value="/v1_6_0" >
Version: 1.6.0
</option>
<option value="/v1_5_0" >
Version: 1.5.0
</option>
<option value="/v1_4_0" >
Version: 1.4.0
</option>
<option value="/v1_3_0/os/introduction" >
Version: 1.3.0
</option>
<option value="/v1_2_0/os/introduction" >
Version: 1.2.0
</option>
<option value="/v1_1_0/os/introduction" >
Version: 1.1.0
</option>
<option value="/v1_0_0/os/introduction" >
Version: 1.0.0
</option>
<option value="/v0_9_0/os/introduction" >
Version: 0.9.0
</option>
</select>
<div class="region region-sidebar">
<div class="docs-menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../tutorials/tutorials.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../external_links.html">Third-party Resources</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../os_user_guide.html">OS User Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../core_os/mynewt_os.html">Kernel</a></li>
<li class="toctree-l2"><a class="reference internal" href="../system_modules.html">System</a></li>
<li class="toctree-l2"><a class="reference internal" href="../hal/hal.html">Hardware Abstraction</a></li>
<li class="toctree-l2"><a class="reference internal" href="../bootloader/bootloader.html">Secure Bootloader</a></li>
<li class="toctree-l2"><a class="reference internal" href="../split/split.html">Split Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../core_os/porting/port_os.html">Porting Guide</a></li>
<li class="toctree-l2"><a class="reference internal" href="../baselibc.html">Baselibc</a></li>
<li class="toctree-l2"><a class="reference internal" href="../drivers/driver.html">Drivers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../devmgmt/newtmgr.html">Device Management with Newt Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="../mcumgr/mcumgr.html">Device Management with MCUmgr</a></li>
<li class="toctree-l2"><a class="reference internal" href="../imgmgr/imgmgr.html">Image Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="../sysinitconfig/sysinitconfig.html">Compile-Time Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../sysinitdown/sysinitdown.html">System Initialization and Shutdown</a></li>
<li class="toctree-l2"><a class="reference internal" href="../extcmd/extcmd.html">Build-Time Hooks</a></li>
<li class="toctree-l2"><a class="reference internal" href="../fs/fs.html">File System</a></li>
<li class="toctree-l2"><a class="reference internal" href="../fcb/fcb.html">Flash Circular Buffer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../sensor_framework/sensor_framework.html">Sensor Framework</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testutil/testutil.html">Test Utilities</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">JSON</a></li>
<li class="toctree-l2"><a class="reference internal" href="../mfg/mfg.html">Manufacturing support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../bsp/index.html">Board support</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../network/index.html">BLE User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../newt/index.html">Newt Tool Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../mynewt_faq/index.html">Mynewt FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../misc/index.html">Appendix</a></li>
</ul>
</div>
</div>
</div>
<!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->
<div class="col-xs-12 col-sm-9">
<div class="alert alert-warning">
<p>
Version 1.9.0 is not the most recent version of the
Apache Mynewt documentation. Click <a href="/latest">here</a> to
read the latest version.
</p>
</div>
<div class="">
<div class="rst-content">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="json">
<h1>JSON<a class="headerlink" href="#json" title="Permalink to this headline"></a></h1>
<p>JSON is a data interchange format. The description of this format can be
found from IETF RFC 4627.</p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#description" id="id1">Description</a></p></li>
<li><p><a class="reference internal" href="#data-structures" id="id2">Data structures</a></p>
<ul>
<li><p><a class="reference internal" href="#encoding" id="id3">Encoding</a></p></li>
<li><p><a class="reference internal" href="#decoding" id="id4">Decoding</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#api" id="id5">API</a></p></li>
</ul>
</div>
<div class="section" id="description">
<h2><a class="toc-backref" href="#id1">Description</a><a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>This package helps in converting between C data types and JSON data
objects. It supports both encoding and decoding.</p>
</div>
<div class="section" id="data-structures">
<h2><a class="toc-backref" href="#id2">Data structures</a><a class="headerlink" href="#data-structures" title="Permalink to this headline"></a></h2>
<div class="section" id="encoding">
<h3><a class="toc-backref" href="#id3">Encoding</a><a class="headerlink" href="#encoding" title="Permalink to this headline"></a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* Encoding functions */</span>
<span class="k">typedef</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">json_write_func_t</span><span class="p">)(</span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">buf</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">data</span><span class="p">,</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">len</span><span class="p">);</span>
<span class="k">struct</span><span class="w"> </span><span class="nc">json_encoder</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">json_write_func_t</span><span class="w"> </span><span class="n">je_write</span><span class="p">;</span>
<span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="o">*</span><span class="n">je_arg</span><span class="p">;</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">je_wr_commas</span><span class="o">:</span><span class="mi">1</span><span class="p">;</span>
<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">je_encode_buf</span><span class="p">[</span><span class="mi">64</span><span class="p">];</span>
<span class="p">};</span>
</pre></div>
</div>
<p>Here’s the data structure encoder funtions use, and it must be
initialized by the caller. The key element is <em>je_write</em>, which is a
function pointer which gets called whenever encoding routine is ready
with encoded data. The element <em>je_arg</em> is passed to <em>je_write</em> as the
first argument. The rest of the structure contents are for internal
state management. This function should collect all the data encoder
function generates. It can collect this data to a flat buffer, chain of
mbufs or even stream through.</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/**</span>
<span class="cm"> * For encode. The contents of a JSON value to encode.</span>
<span class="cm"> */</span>
<span class="k">struct</span><span class="w"> </span><span class="nc">json_value</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">jv_pad1</span><span class="p">;</span>
<span class="w"> </span><span class="kt">uint8_t</span><span class="w"> </span><span class="n">jv_type</span><span class="p">;</span>
<span class="w"> </span><span class="kt">uint16_t</span><span class="w"> </span><span class="n">jv_len</span><span class="p">;</span>
<span class="w"> </span><span class="k">union</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">u</span><span class="p">;</span>
<span class="w"> </span><span class="kt">float</span><span class="w"> </span><span class="n">fl</span><span class="p">;</span>
<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">str</span><span class="p">;</span>
<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">keys</span><span class="p">;</span>
<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_value</span><span class="w"> </span><span class="o">**</span><span class="n">values</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">composite</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">jv_val</span><span class="p">;</span>
<span class="p">};</span>
</pre></div>
</div>
<p>This data structure is filled with data to be encoded. It is best to
fill this using the macros <em>JSON_VALUE_STRING()</em> or
<em>JSON_VALUE_STRINGN()</em> when value is string, <em>JSON_VALUE_INT()</em> when
value is an integer, and so forth.</p>
</div>
<div class="section" id="decoding">
<h3><a class="toc-backref" href="#id4">Decoding</a><a class="headerlink" href="#decoding" title="Permalink to this headline"></a></h3>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/* when you implement a json buffer, you must implement these functions */</span>
<span class="cm">/* returns the next character in the buffer or &#39;\0&#39;*/</span>
<span class="k">typedef</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">json_buffer_read_next_byte_t</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_buffer</span><span class="w"> </span><span class="o">*</span><span class="p">);</span>
<span class="cm">/* returns the previous character in the buffer or &#39;\0&#39; */</span>
<span class="k">typedef</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">json_buffer_read_prev_byte_t</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_buffer</span><span class="w"> </span><span class="o">*</span><span class="p">);</span>
<span class="cm">/* returns the number of characters read or zero */</span>
<span class="k">typedef</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="n">json_buffer_readn_t</span><span class="p">)(</span><span class="k">struct</span><span class="w"> </span><span class="nc">json_buffer</span><span class="w"> </span><span class="o">*</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">buf</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="p">);</span>
<span class="k">struct</span><span class="w"> </span><span class="nc">json_buffer</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">json_buffer_readn_t</span><span class="w"> </span><span class="n">jb_readn</span><span class="p">;</span>
<span class="w"> </span><span class="n">json_buffer_read_next_byte_t</span><span class="w"> </span><span class="n">jb_read_next</span><span class="p">;</span>
<span class="w"> </span><span class="n">json_buffer_read_prev_byte_t</span><span class="w"> </span><span class="n">jb_read_prev</span><span class="p">;</span>
<span class="p">};</span>
</pre></div>
</div>
<p>Function pointers within this structure are used by decoder when it is
reading in more data to decode.</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">json_attr_t</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">attribute</span><span class="p">;</span>
<span class="w"> </span><span class="n">json_type</span><span class="w"> </span><span class="n">type</span><span class="p">;</span>
<span class="w"> </span><span class="k">union</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="o">*</span><span class="n">integer</span><span class="p">;</span>
<span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="o">*</span><span class="n">uinteger</span><span class="p">;</span>
<span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="o">*</span><span class="n">real</span><span class="p">;</span>
<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">string</span><span class="p">;</span>
<span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="o">*</span><span class="n">boolean</span><span class="p">;</span>
<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">character</span><span class="p">;</span>
<span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_array_t</span><span class="w"> </span><span class="n">array</span><span class="p">;</span>
<span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">offset</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">addr</span><span class="p">;</span>
<span class="w"> </span><span class="k">union</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">integer</span><span class="p">;</span>
<span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">uinteger</span><span class="p">;</span>
<span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="n">real</span><span class="p">;</span>
<span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="n">boolean</span><span class="p">;</span>
<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="n">character</span><span class="p">;</span>
<span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">check</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="n">dflt</span><span class="p">;</span>
<span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">len</span><span class="p">;</span>
<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">json_enum_t</span><span class="w"> </span><span class="o">*</span><span class="n">map</span><span class="p">;</span>
<span class="w"> </span><span class="kt">bool</span><span class="w"> </span><span class="n">nodefault</span><span class="p">;</span>
<span class="p">};</span>
</pre></div>
</div>
<p>This structure tells the decoder about a particular name/value pair.
Structure must be filled in before calling the decoder routine
<em>json_read_object()</em>.</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 19%" />
<col style="width: 81%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Element</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>attribute</p></td>
<td><p>Name of the value</p></td>
</tr>
<tr class="row-odd"><td><p>type</p></td>
<td><p>The type of the variable; see enum json_type</p></td>
</tr>
<tr class="row-even"><td><p>addr</p></td>
<td><p>Contains the address where value should be stored</p></td>
</tr>
<tr class="row-odd"><td><p>dflt</p></td>
<td><p>Default value to fill in, if this name is not found</p></td>
</tr>
<tr class="row-even"><td><p>len</p></td>
<td><p>Max number of bytes to read in for value</p></td>
</tr>
<tr class="row-odd"><td><p>nodefault</p></td>
<td><p>If set, default value is not copied name</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section" id="api">
<h2><a class="toc-backref" href="#id5">API</a><a class="headerlink" href="#api" title="Permalink to this headline"></a></h2>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-defines">Defines</p>
<dl class="c macro">
<dt id="c.JSON_VALUE_TYPE_BOOL">
<span class="target" id="json_8h_1a11ab3cb66539e2449c658827a457e93f"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_TYPE_BOOL</span></code><a class="headerlink" href="#c.JSON_VALUE_TYPE_BOOL" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_TYPE_UINT64">
<span class="target" id="json_8h_1adce2e00a80a073a5e510b7e867ff41ed"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_TYPE_UINT64</span></code><a class="headerlink" href="#c.JSON_VALUE_TYPE_UINT64" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_TYPE_INT64">
<span class="target" id="json_8h_1ab2c19f524e9a60082e572c8a0e1b25a1"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_TYPE_INT64</span></code><a class="headerlink" href="#c.JSON_VALUE_TYPE_INT64" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_TYPE_STRING">
<span class="target" id="json_8h_1a764c6ff4bd22d59e87b764e7fe4e5758"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_TYPE_STRING</span></code><a class="headerlink" href="#c.JSON_VALUE_TYPE_STRING" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_TYPE_ARRAY">
<span class="target" id="json_8h_1a6767b994750c2c67164a5cbef9d3b80b"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_TYPE_ARRAY</span></code><a class="headerlink" href="#c.JSON_VALUE_TYPE_ARRAY" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_TYPE_OBJECT">
<span class="target" id="json_8h_1a60c05d128fd472885c682134391bb890"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_TYPE_OBJECT</span></code><a class="headerlink" href="#c.JSON_VALUE_TYPE_OBJECT" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_STRING">
<span class="target" id="json_8h_1a8224bb688ff811e7c2529fdf33f00c98"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_STRING</span></code><span class="sig-paren">(</span><em><span class="pre">__jv</span></em>, <em><span class="pre">__str</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_STRING" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_STRINGN">
<span class="target" id="json_8h_1ac2898f9e8d34e76185a32e517ad1c162"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_STRINGN</span></code><span class="sig-paren">(</span><em><span class="pre">__jv</span></em>, <em><span class="pre">__str</span></em>, <em><span class="pre">__len</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_STRINGN" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_BOOL">
<span class="target" id="json_8h_1abdf2bbd17c29ba5d8ae9bd89c65cb2ae"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_BOOL</span></code><span class="sig-paren">(</span><em><span class="pre">__jv</span></em>, <em><span class="pre">__v</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_BOOL" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_INT">
<span class="target" id="json_8h_1a9d091db19c4f474ce8de520feb826abd"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_INT</span></code><span class="sig-paren">(</span><em><span class="pre">__jv</span></em>, <em><span class="pre">__v</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_INT" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VALUE_UINT">
<span class="target" id="json_8h_1a35c659ef5aafea168b29f2d7e054cfac"></span><code class="sig-name descname"><span class="pre">JSON_VALUE_UINT</span></code><span class="sig-paren">(</span><em><span class="pre">__jv</span></em>, <em><span class="pre">__v</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_UINT" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_NITEMS">
<span class="target" id="json_8h_1a37bd2b159616b9d97930ca56d9de2578"></span><code class="sig-name descname"><span class="pre">JSON_NITEMS</span></code><span class="sig-paren">(</span><em><span class="pre">x</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_NITEMS" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ATTR_MAX">
<span class="target" id="json_8h_1a53cc0c059c9024bb8cf3e5ec4c5ae6f1"></span><code class="sig-name descname"><span class="pre">JSON_ATTR_MAX</span></code><a class="headerlink" href="#c.JSON_ATTR_MAX" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_VAL_MAX">
<span class="target" id="json_8h_1a052936e3c29907971b3a4c9ab78bd5fc"></span><code class="sig-name descname"><span class="pre">JSON_VAL_MAX</span></code><a class="headerlink" href="#c.JSON_VAL_MAX" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_OBSTART">
<span class="target" id="json_8h_1ae9b6b147c3f6f6a2802d2b5f663ad3ed"></span><code class="sig-name descname"><span class="pre">JSON_ERR_OBSTART</span></code><a class="headerlink" href="#c.JSON_ERR_OBSTART" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_ATTRSTART">
<span class="target" id="json_8h_1ab5f935675d0c4aae102f580b2e444101"></span><code class="sig-name descname"><span class="pre">JSON_ERR_ATTRSTART</span></code><a class="headerlink" href="#c.JSON_ERR_ATTRSTART" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_BADATTR">
<span class="target" id="json_8h_1a49588f5bac2e1cfc7b29a6bf14bd8ce6"></span><code class="sig-name descname"><span class="pre">JSON_ERR_BADATTR</span></code><a class="headerlink" href="#c.JSON_ERR_BADATTR" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_ATTRLEN">
<span class="target" id="json_8h_1aa2b5457f31db0dd45547497c49c7d22d"></span><code class="sig-name descname"><span class="pre">JSON_ERR_ATTRLEN</span></code><a class="headerlink" href="#c.JSON_ERR_ATTRLEN" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_NOARRAY">
<span class="target" id="json_8h_1a50ca5aac77197d251d2cccc2a8eede64"></span><code class="sig-name descname"><span class="pre">JSON_ERR_NOARRAY</span></code><a class="headerlink" href="#c.JSON_ERR_NOARRAY" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_NOBRAK">
<span class="target" id="json_8h_1a62fe3d48bff4f4d8da521cc826039072"></span><code class="sig-name descname"><span class="pre">JSON_ERR_NOBRAK</span></code><a class="headerlink" href="#c.JSON_ERR_NOBRAK" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_STRLONG">
<span class="target" id="json_8h_1a262de1ba9430fcf34d698cb1e3e00840"></span><code class="sig-name descname"><span class="pre">JSON_ERR_STRLONG</span></code><a class="headerlink" href="#c.JSON_ERR_STRLONG" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_TOKLONG">
<span class="target" id="json_8h_1a1fcd61c50cd518e662fe6e0f0d63999d"></span><code class="sig-name descname"><span class="pre">JSON_ERR_TOKLONG</span></code><a class="headerlink" href="#c.JSON_ERR_TOKLONG" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_BADTRAIL">
<span class="target" id="json_8h_1a15733fb3ee36332d5fc92a1bc4918fa2"></span><code class="sig-name descname"><span class="pre">JSON_ERR_BADTRAIL</span></code><a class="headerlink" href="#c.JSON_ERR_BADTRAIL" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_ARRAYSTART">
<span class="target" id="json_8h_1a902bc1be02d2560d7ff3bf2bb96d9a3d"></span><code class="sig-name descname"><span class="pre">JSON_ERR_ARRAYSTART</span></code><a class="headerlink" href="#c.JSON_ERR_ARRAYSTART" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_OBJARR">
<span class="target" id="json_8h_1a25eaf8851f318c9fc148f9307abff072"></span><code class="sig-name descname"><span class="pre">JSON_ERR_OBJARR</span></code><a class="headerlink" href="#c.JSON_ERR_OBJARR" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_SUBTOOLONG">
<span class="target" id="json_8h_1a82fecd648f98823f35d2a8955a44caa3"></span><code class="sig-name descname"><span class="pre">JSON_ERR_SUBTOOLONG</span></code><a class="headerlink" href="#c.JSON_ERR_SUBTOOLONG" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_BADSUBTRAIL">
<span class="target" id="json_8h_1ad0243a253b7c930223c03ad8177c302d"></span><code class="sig-name descname"><span class="pre">JSON_ERR_BADSUBTRAIL</span></code><a class="headerlink" href="#c.JSON_ERR_BADSUBTRAIL" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_SUBTYPE">
<span class="target" id="json_8h_1a0a3fa03e0db4341a39cd4ab4b8702c6f"></span><code class="sig-name descname"><span class="pre">JSON_ERR_SUBTYPE</span></code><a class="headerlink" href="#c.JSON_ERR_SUBTYPE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_BADSTRING">
<span class="target" id="json_8h_1a9229773bc0269e975ca50cfd7773004e"></span><code class="sig-name descname"><span class="pre">JSON_ERR_BADSTRING</span></code><a class="headerlink" href="#c.JSON_ERR_BADSTRING" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_CHECKFAIL">
<span class="target" id="json_8h_1a6eeaa58961e416b9e365f0f1a9bb02f9"></span><code class="sig-name descname"><span class="pre">JSON_ERR_CHECKFAIL</span></code><a class="headerlink" href="#c.JSON_ERR_CHECKFAIL" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_NOPARSTR">
<span class="target" id="json_8h_1aa2fbb24cc33f7c02782eb55931216ebf"></span><code class="sig-name descname"><span class="pre">JSON_ERR_NOPARSTR</span></code><a class="headerlink" href="#c.JSON_ERR_NOPARSTR" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_BADENUM">
<span class="target" id="json_8h_1adc614fc0da80c147e0a151c6cff885fb"></span><code class="sig-name descname"><span class="pre">JSON_ERR_BADENUM</span></code><a class="headerlink" href="#c.JSON_ERR_BADENUM" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_QNONSTRING">
<span class="target" id="json_8h_1aa0520a896b6fb83d207d15d251920d63"></span><code class="sig-name descname"><span class="pre">JSON_ERR_QNONSTRING</span></code><a class="headerlink" href="#c.JSON_ERR_QNONSTRING" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_NONQSTRING">
<span class="target" id="json_8h_1af025d85e2942410dfb1f0710317aa7f4"></span><code class="sig-name descname"><span class="pre">JSON_ERR_NONQSTRING</span></code><a class="headerlink" href="#c.JSON_ERR_NONQSTRING" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_MISC">
<span class="target" id="json_8h_1a254fbb573de24c7b9e3ed97645276c10"></span><code class="sig-name descname"><span class="pre">JSON_ERR_MISC</span></code><a class="headerlink" href="#c.JSON_ERR_MISC" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_BADNUM">
<span class="target" id="json_8h_1a594e72a77760007ddc6a10ca7815903a"></span><code class="sig-name descname"><span class="pre">JSON_ERR_BADNUM</span></code><a class="headerlink" href="#c.JSON_ERR_BADNUM" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_ERR_NULLPTR">
<span class="target" id="json_8h_1ad254d2a4dc8f19dbc77b754f1f474c3a"></span><code class="sig-name descname"><span class="pre">JSON_ERR_NULLPTR</span></code><a class="headerlink" href="#c.JSON_ERR_NULLPTR" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_STRUCT_OBJECT">
<span class="target" id="json_8h_1ab8064a761eae5bfc5692146cbc221ada"></span><code class="sig-name descname"><span class="pre">JSON_STRUCT_OBJECT</span></code><span class="sig-paren">(</span><em><span class="pre">s</span></em>, <em><span class="pre">f</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_STRUCT_OBJECT" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt id="c.JSON_STRUCT_ARRAY">
<span class="target" id="json_8h_1a000ccd5256487dea6e2cdece3dc22487"></span><code class="sig-name descname"><span class="pre">JSON_STRUCT_ARRAY</span></code><span class="sig-paren">(</span><em><span class="pre">a</span></em>, <em><span class="pre">e</span></em>, <em><span class="pre">n</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_STRUCT_ARRAY" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-typedefs">Typedefs</p>
<dl class="c type">
<dt id="c.json_write_func_t">
<span class="target" id="json_8h_1a69ffd31fcc1a28b60ad7663fe751fe20"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">json_write_func_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><span class="pre">void</span> <span class="pre">*</span><span class="pre">buf</span>, <span class="pre">char</span> <span class="pre">*</span><span class="pre">data</span>, <span class="pre">int</span> <span class="pre">len</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_write_func_t" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c type">
<dt id="c.json_buffer_read_next_byte_t">
<span class="target" id="json_8h_1a549ad08a01c91b8e724db44b2ddf3fbb"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">char</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">json_buffer_read_next_byte_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="pre">json_buffer</span></a><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_buffer_read_next_byte_t" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c type">
<dt id="c.json_buffer_read_prev_byte_t">
<span class="target" id="json_8h_1a3b4f99ff7b7fc542b1a0f9940ee1ed26"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">char</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">json_buffer_read_prev_byte_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="pre">json_buffer</span></a><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_buffer_read_prev_byte_t" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c type">
<dt id="c.json_buffer_readn_t">
<span class="target" id="json_8h_1afdb5e06ff85fb414196c0bac63050349"></span><em class="property"><span class="pre">typedef</span> </em><span class="pre">int</span> <span class="pre">(</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">json_buffer_readn_t</span></code><span class="pre">)</span><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="pre">json_buffer</span></a><span class="pre">*</span>, <span class="pre">char</span> <span class="pre">*</span><span class="pre">buf</span>, <span class="pre">int</span> <span class="pre">n</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_buffer_readn_t" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-enums">Enums</p>
<dl class="c enum">
<dt id="c.json_type">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06c"></span><em class="property"><span class="pre">enum</span> </em><code class="sig-name descname"><span class="pre">json_type</span></code><a class="headerlink" href="#c.json_type" title="Permalink to this definition"></a><br /></dt>
<dd><p><em>Values:</em></p>
<dl class="c enumerator">
<dt id="c.json_type.t_integer">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06caa5e808cd90a0f95eebf92ce1ef8c6ee8"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_integer</span></code><a class="headerlink" href="#c.json_type.t_integer" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_uinteger">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca0ac65198ff55ee5dd3ae1f7463330705"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_uinteger</span></code><a class="headerlink" href="#c.json_type.t_uinteger" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_real">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06cab7d40da723d37968f9553fc42dfca586"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_real</span></code><a class="headerlink" href="#c.json_type.t_real" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_string">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca8246d1915b02da046caa65da7b069675"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_string</span></code><a class="headerlink" href="#c.json_type.t_string" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_boolean">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca43e05912dd4d27a96ece5e1993f8c9e8"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_boolean</span></code><a class="headerlink" href="#c.json_type.t_boolean" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_character">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca82166ed312c58365bc369faf61e77b4c"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_character</span></code><a class="headerlink" href="#c.json_type.t_character" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_object">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca63d3156c32c0c1b4fa4c386b09f07b7c"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_object</span></code><a class="headerlink" href="#c.json_type.t_object" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_structobject">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06caeea09a68055a2331c5b65597e50995f1"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_structobject</span></code><a class="headerlink" href="#c.json_type.t_structobject" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_array">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06cad80026c5b004fb095839e2fece6e3fde"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_array</span></code><a class="headerlink" href="#c.json_type.t_array" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_check">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca09c543b90060fee4eaf13f459c36fe1a"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_check</span></code><a class="headerlink" href="#c.json_type.t_check" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt id="c.json_type.t_ignore">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06cadc4bd949759bc4c9505eb101ae9da92c"></span><em class="property"><span class="pre">enumerator</span> </em><code class="sig-name descname"><span class="pre">t_ignore</span></code><a class="headerlink" href="#c.json_type.t_ignore" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-functions">Functions</p>
<dl class="c function">
<dt id="c.json_encode_object_start">
<span class="target" id="json_8h_1a60de81baf4d0fb064319f65476357b1f"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_encode_object_start</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="pre">json_encoder</span></a><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_object_start" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_encode_object_key">
<span class="target" id="json_8h_1a66c51fb624e215f2d9cc88291fc95ee5"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_encode_object_key</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="pre">json_encoder</span></a> <span class="pre">*</span><em><span class="pre">encoder</span></em>, <span class="pre">char</span> <span class="pre">*</span><em><span class="pre">key</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_object_key" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_encode_object_entry">
<span class="target" id="json_8h_1a5bb380e43c2aff392b23b4671aba1117"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_encode_object_entry</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="pre">json_encoder</span></a><span class="pre">*</span>, <span class="pre">char</span><span class="pre">*</span>, <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_value" title="json_value"><span class="pre">json_value</span></a><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_object_entry" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_encode_object_finish">
<span class="target" id="json_8h_1a2440f4fea6c79c9d886e5d9fd6ccd255"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_encode_object_finish</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="pre">json_encoder</span></a><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_object_finish" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_encode_array_name">
<span class="target" id="json_8h_1af4158fed79453824ee310aeaf12d2c6f"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_encode_array_name</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="pre">json_encoder</span></a> <span class="pre">*</span><em><span class="pre">encoder</span></em>, <span class="pre">char</span> <span class="pre">*</span><em><span class="pre">name</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_array_name" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_encode_array_start">
<span class="target" id="json_8h_1a49eceabeb1866eb8f3568f584c5f62a1"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_encode_array_start</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="pre">json_encoder</span></a> <span class="pre">*</span><em><span class="pre">encoder</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_array_start" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_encode_array_value">
<span class="target" id="json_8h_1a3ad18484b654fbea01746f2633bc80d4"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_encode_array_value</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="pre">json_encoder</span></a> <span class="pre">*</span><em><span class="pre">encoder</span></em>, <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_value" title="json_value"><span class="pre">json_value</span></a> <span class="pre">*</span><em><span class="pre">val</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_array_value" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_encode_array_finish">
<span class="target" id="json_8h_1a4b331504f35a3b492658e3cf46e7d173"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_encode_array_finish</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="pre">json_encoder</span></a> <span class="pre">*</span><em><span class="pre">encoder</span></em><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_array_finish" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_read_object">
<span class="target" id="json_8h_1a0d74b15e9c3a69fd85b1dffd7c26740f"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_read_object</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="pre">json_buffer</span></a><span class="pre">*</span>, <em class="property"><span class="pre">const</span></em> <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="pre">json_attr_t</span></a><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_read_object" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt id="c.json_read_array">
<span class="target" id="json_8h_1a3b1c480e9a3e520c76b4f196f06e162f"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">json_read_array</span></code><span class="sig-paren">(</span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="pre">json_buffer</span></a><span class="pre">*</span>, <em class="property"><span class="pre">const</span></em> <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">*</span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_read_array" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<dl class="c struct">
<dt id="c.json_value">
<span class="target" id="structjson__value"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">json_value</span></code><a class="headerlink" href="#c.json_value" title="Permalink to this definition"></a><br /></dt>
<dd><em>#include &lt;json.h&gt;</em><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_value.jv_pad1">
<span class="target" id="structjson__value_1a4dbb78de5550df4839f6905098307dd2"></span><span class="pre">uint8_t</span> <code class="sig-name descname"><span class="pre">jv_pad1</span></code><a class="headerlink" href="#c.json_value.jv_pad1" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_value.jv_type">
<span class="target" id="structjson__value_1a10775a32dbe037efe80d34f7323aab09"></span><span class="pre">uint8_t</span> <code class="sig-name descname"><span class="pre">jv_type</span></code><a class="headerlink" href="#c.json_value.jv_type" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_value.jv_len">
<span class="target" id="structjson__value_1a1b8d344d2706dcda6a210be81327ee05"></span><span class="pre">uint16_t</span> <code class="sig-name descname"><span class="pre">jv_len</span></code><a class="headerlink" href="#c.json_value.jv_len" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_value.jv_val">
<span class="target" id="structjson__value_1a2a54dc46499815aea154aaf77b024738"></span><em class="property"><span class="pre">union</span></em> <a class="reference internal" href="#c.json_value" title="json_value"><span class="pre">json_value</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">jv_val</span></code><a class="headerlink" href="#c.json_value.jv_val" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt id="c.json_encoder">
<span class="target" id="structjson__encoder"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">json_encoder</span></code><a class="headerlink" href="#c.json_encoder" title="Permalink to this definition"></a><br /></dt>
<dd><em>#include &lt;json.h&gt;</em><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_encoder.je_write">
<span class="target" id="structjson__encoder_1a8c57b97304cc40133c7622cc235553b5"></span><a class="reference internal" href="#c.json_write_func_t" title="json_write_func_t"><span class="pre">json_write_func_t</span></a> <code class="sig-name descname"><span class="pre">je_write</span></code><a class="headerlink" href="#c.json_encoder.je_write" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_encoder.je_arg">
<span class="target" id="structjson__encoder_1a208e659f1d009189e3b01adba9f1fb35"></span><span class="pre">void</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">je_arg</span></code><a class="headerlink" href="#c.json_encoder.je_arg" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_encoder.je_wr_commas">
<span class="target" id="structjson__encoder_1a13ad211e80a1cfa0a2f95d2216fdb8f5"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">je_wr_commas</span></code><a class="headerlink" href="#c.json_encoder.je_wr_commas" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_encoder.je_encode_buf">
<span class="target" id="structjson__encoder_1a0e8407af7666345ea144e3309e71f27f"></span><span class="pre">char</span> <code class="sig-name descname"><span class="pre">je_encode_buf</span></code><span class="pre">[</span><span class="pre">64</span><span class="pre">]</span><a class="headerlink" href="#c.json_encoder.je_encode_buf" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt id="c.json_enum_t">
<span class="target" id="structjson__enum__t"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">json_enum_t</span></code><a class="headerlink" href="#c.json_enum_t" title="Permalink to this definition"></a><br /></dt>
<dd><em>#include &lt;json.h&gt;</em><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_enum_t.name">
<span class="target" id="structjson__enum__t_1ae862509591dc420f72f1969406d24d74"></span><span class="pre">char</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">name</span></code><a class="headerlink" href="#c.json_enum_t.name" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_enum_t.value">
<span class="target" id="structjson__enum__t_1ace6bd6837b006c8a656e2fc2f0caa86f"></span><span class="pre">long</span> <span class="pre">long</span> <span class="pre">int</span> <code class="sig-name descname"><span class="pre">value</span></code><a class="headerlink" href="#c.json_enum_t.value" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt id="c.json_array_t">
<span class="target" id="structjson__array__t"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">json_array_t</span></code><a class="headerlink" href="#c.json_array_t" title="Permalink to this definition"></a><br /></dt>
<dd><em>#include &lt;json.h&gt;</em><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_array_t.element_type">
<span class="target" id="structjson__array__t_1a8cd8a1de109d557b4c415aaf51fc3dbc"></span><a class="reference internal" href="#c.json_type" title="json_type"><span class="pre">json_type</span></a> <code class="sig-name descname"><span class="pre">element_type</span></code><a class="headerlink" href="#c.json_array_t.element_type" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr">
<span class="target" id="structjson__array__t_1ac8a094fe5f8ed16560e910f9679e1508"></span><em class="property"><span class="pre">union</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">arr</span></code><a class="headerlink" href="#c.json_array_t.arr" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.count">
<span class="target" id="structjson__array__t_1ab863103f7024c73a33486826ee4cd4d3"></span><span class="pre">int</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">count</span></code><a class="headerlink" href="#c.json_array_t.count" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.maxlen">
<span class="target" id="structjson__array__t_1a5a8c05a0ca8b218cff165905a631d129"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">maxlen</span></code><a class="headerlink" href="#c.json_array_t.maxlen" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt id="c.json_attr_t">
<span class="target" id="structjson__attr__t"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">json_attr_t</span></code><a class="headerlink" href="#c.json_attr_t" title="Permalink to this definition"></a><br /></dt>
<dd><em>#include &lt;json.h&gt;</em><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_attr_t.attribute">
<span class="target" id="structjson__attr__t_1a79c32d3aa2aef950f06211648dff349f"></span><span class="pre">char</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">attribute</span></code><a class="headerlink" href="#c.json_attr_t.attribute" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.type">
<span class="target" id="structjson__attr__t_1ad655f40e27ee571d94f95c88288c2226"></span><a class="reference internal" href="#c.json_type" title="json_type"><span class="pre">json_type</span></a> <code class="sig-name descname"><span class="pre">type</span></code><a class="headerlink" href="#c.json_attr_t.type" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.addr">
<span class="target" id="structjson__attr__t_1a32b79fcf6b1ee687d0e3344729ed28fb"></span><em class="property"><span class="pre">union</span></em> <a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="pre">json_attr_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">addr</span></code><a class="headerlink" href="#c.json_attr_t.addr" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.dflt">
<span class="target" id="structjson__attr__t_1a39bc48d90f9a9e1b37c986c1f194fecb"></span><em class="property"><span class="pre">union</span></em> <a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="pre">json_attr_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">dflt</span></code><a class="headerlink" href="#c.json_attr_t.dflt" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.len">
<span class="target" id="structjson__attr__t_1a74e96688c431b799ecd6477cee550943"></span><span class="pre">size_t</span> <code class="sig-name descname"><span class="pre">len</span></code><a class="headerlink" href="#c.json_attr_t.len" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.map">
<span class="target" id="structjson__attr__t_1a2392183304f21ee8c6bd897a3136d431"></span><em class="property"><span class="pre">const</span></em> <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_enum_t" title="json_enum_t"><span class="pre">json_enum_t</span></a> <span class="pre">*</span><code class="sig-name descname"><span class="pre">map</span></code><a class="headerlink" href="#c.json_attr_t.map" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.nodefault">
<span class="target" id="structjson__attr__t_1a1d514270f3a0bf1470f7e798ccf2d7c1"></span><span class="pre">bool</span> <code class="sig-name descname"><span class="pre">nodefault</span></code><a class="headerlink" href="#c.json_attr_t.nodefault" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt id="c.json_buffer">
<span class="target" id="structjson__buffer"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-name descname"><span class="pre">json_buffer</span></code><a class="headerlink" href="#c.json_buffer" title="Permalink to this definition"></a><br /></dt>
<dd><em>#include &lt;json.h&gt;</em><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_buffer.jb_readn">
<span class="target" id="structjson__buffer_1acca8019b4ff5dbc8720c8fe81d8f211a"></span><a class="reference internal" href="#c.json_buffer_readn_t" title="json_buffer_readn_t"><span class="pre">json_buffer_readn_t</span></a> <code class="sig-name descname"><span class="pre">jb_readn</span></code><a class="headerlink" href="#c.json_buffer.jb_readn" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_buffer.jb_read_next">
<span class="target" id="structjson__buffer_1a8c575de00f3ccf24b63f25962b5cf9e9"></span><a class="reference internal" href="#c.json_buffer_read_next_byte_t" title="json_buffer_read_next_byte_t"><span class="pre">json_buffer_read_next_byte_t</span></a> <code class="sig-name descname"><span class="pre">jb_read_next</span></code><a class="headerlink" href="#c.json_buffer.jb_read_next" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_buffer.jb_read_prev">
<span class="target" id="structjson__buffer_1a9f63fd401c42d75adf3edcc41055b5e7"></span><a class="reference internal" href="#c.json_buffer_read_prev_byte_t" title="json_buffer_read_prev_byte_t"><span class="pre">json_buffer_read_prev_byte_t</span></a> <code class="sig-name descname"><span class="pre">jb_read_prev</span></code><a class="headerlink" href="#c.json_buffer.jb_read_prev" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c union">
<dt>
<span class="target" id="unionjson__value_8jv__val"></span><em class="property"><span class="pre">union</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_value" title="json_value"><span class="pre">json_value</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">jv_val</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_value.jv_val.u">
<span class="target" id="unionjson__value_8jv__val_1a7b774effe4a349c6dd82ad4f4f21d34c"></span><span class="pre">uint64_t</span> <code class="sig-name descname"><span class="pre">u</span></code><a class="headerlink" href="#c.json_value.jv_val.u" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_value.jv_val.fl">
<span class="target" id="unionjson__value_8jv__val_1a3d296788f2a7e19ffbd912521d94a5f4"></span><span class="pre">float</span> <code class="sig-name descname"><span class="pre">fl</span></code><a class="headerlink" href="#c.json_value.jv_val.fl" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_value.jv_val.str">
<span class="target" id="unionjson__value_8jv__val_1a341be97d9aff90c9978347f66f945b77"></span><span class="pre">char</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">str</span></code><a class="headerlink" href="#c.json_value.jv_val.str" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_value.jv_val.composite">
<span class="target" id="unionjson__value_8jv__val_1aece0fa92c82afc69092153da33069c87"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_value" title="json_value"><span class="pre">json_value</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">composite</span></code><a class="headerlink" href="#c.json_value.jv_val.composite" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt>
<span class="target" id="structjson__value_8jv__val_8composite"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_value" title="json_value"><span class="pre">json_value</span></a><span class="pre">.</span><a class="reference internal" href="#c.json_value.jv_val" title="json_value.jv_val"><span class="pre">jv_val</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">composite</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_value.jv_val.composite.keys">
<span class="target" id="structjson__value_8jv__val_8composite_1a14f802e1fba977727845e8872c1743a7"></span><span class="pre">char</span> <span class="pre">*</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">keys</span></code><a class="headerlink" href="#c.json_value.jv_val.composite.keys" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_value.jv_val.composite.values">
<span class="target" id="structjson__value_8jv__val_8composite_1af09cc7ee3a9a93273f4b80601cafb00c"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_value" title="json_value"><span class="pre">json_value</span></a> <span class="pre">*</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">values</span></code><a class="headerlink" href="#c.json_value.jv_val.composite.values" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c union">
<dt>
<span class="target" id="unionjson__array__t_8arr"></span><em class="property"><span class="pre">union</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">arr</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_array_t.arr.objects">
<span class="target" id="unionjson__array__t_8arr_1a5891da2d64975cae48d175d1e001f5da"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">objects</span></code><a class="headerlink" href="#c.json_array_t.arr.objects" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.strings">
<span class="target" id="unionjson__array__t_8arr_1a8bcf6629759bd278a5c6266bd9c054f8"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">strings</span></code><a class="headerlink" href="#c.json_array_t.arr.strings" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.integers">
<span class="target" id="unionjson__array__t_8arr_1a0f6d4c87224d52f488225cab8b1096f5"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">integers</span></code><a class="headerlink" href="#c.json_array_t.arr.integers" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.uintegers">
<span class="target" id="unionjson__array__t_8arr_1aea551a855dcde1be2a73e5a36931ba56"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">uintegers</span></code><a class="headerlink" href="#c.json_array_t.arr.uintegers" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.reals">
<span class="target" id="unionjson__array__t_8arr_1a7d1dbc271aa4b8e06fc199d250ce8e17"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">reals</span></code><a class="headerlink" href="#c.json_array_t.arr.reals" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.booleans">
<span class="target" id="unionjson__array__t_8arr_1aefff7868ab542964cb9b3752d3ab0357"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong><span class="pre">.</span><strong><span class="pre">[anonymous]</span></strong> <code class="sig-name descname"><span class="pre">booleans</span></code><a class="headerlink" href="#c.json_array_t.arr.booleans" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt>
<span class="target" id="structjson__array__t_8arr_8objects"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><a class="reference internal" href="#c.json_array_t.arr" title="json_array_t.arr"><span class="pre">arr</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">objects</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_array_t.arr.objects.subtype">
<span class="target" id="structjson__array__t_8arr_8objects_1a2e282b0d23d6ec55185caeb87b41c0e0"></span><em class="property"><span class="pre">const</span></em> <em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="pre">json_attr_t</span></a> <span class="pre">*</span><code class="sig-name descname"><span class="pre">subtype</span></code><a class="headerlink" href="#c.json_array_t.arr.objects.subtype" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.objects.base">
<span class="target" id="structjson__array__t_8arr_8objects_1a593616de15330c0fb2d55e55410bf994"></span><span class="pre">char</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">base</span></code><a class="headerlink" href="#c.json_array_t.arr.objects.base" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.objects.stride">
<span class="target" id="structjson__array__t_8arr_8objects_1a47101375aa96fa02cfb1d55fd00af989"></span><span class="pre">size_t</span> <code class="sig-name descname"><span class="pre">stride</span></code><a class="headerlink" href="#c.json_array_t.arr.objects.stride" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt>
<span class="target" id="structjson__array__t_8arr_8strings"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><a class="reference internal" href="#c.json_array_t.arr" title="json_array_t.arr"><span class="pre">arr</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">strings</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_array_t.arr.strings.ptrs">
<span class="target" id="structjson__array__t_8arr_8strings_1a8639cc5d6bb46f78e955b2876250222a"></span><span class="pre">char</span> <span class="pre">*</span><span class="pre">*</span><code class="sig-name descname"><span class="pre">ptrs</span></code><a class="headerlink" href="#c.json_array_t.arr.strings.ptrs" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.strings.store">
<span class="target" id="structjson__array__t_8arr_8strings_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="pre">char</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">store</span></code><a class="headerlink" href="#c.json_array_t.arr.strings.store" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_array_t.arr.strings.storelen">
<span class="target" id="structjson__array__t_8arr_8strings_1a35bb86a90f9e22d8e6019b81ab8535e5"></span><span class="pre">int</span> <code class="sig-name descname"><span class="pre">storelen</span></code><a class="headerlink" href="#c.json_array_t.arr.strings.storelen" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt>
<span class="target" id="structjson__array__t_8arr_8integers"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><a class="reference internal" href="#c.json_array_t.arr" title="json_array_t.arr"><span class="pre">arr</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">integers</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_array_t.arr.integers.store">
<span class="target" id="structjson__array__t_8arr_8integers_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="pre">long</span> <span class="pre">long</span> <span class="pre">int</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">store</span></code><a class="headerlink" href="#c.json_array_t.arr.integers.store" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt>
<span class="target" id="structjson__array__t_8arr_8uintegers"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><a class="reference internal" href="#c.json_array_t.arr" title="json_array_t.arr"><span class="pre">arr</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">uintegers</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt>
<span class="target" id="structjson__array__t_8arr_8uintegers_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><code class="sig-name descname"><span class="pre">long</span> <span class="pre">long</span> <span class="pre">unsigned</span> <span class="pre">int</span> <span class="pre">*</span> <span class="pre">store</span></code></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt>
<span class="target" id="structjson__array__t_8arr_8reals"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><a class="reference internal" href="#c.json_array_t.arr" title="json_array_t.arr"><span class="pre">arr</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">reals</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_array_t.arr.reals.store">
<span class="target" id="structjson__array__t_8arr_8reals_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="pre">double</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">store</span></code><a class="headerlink" href="#c.json_array_t.arr.reals.store" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt>
<span class="target" id="structjson__array__t_8arr_8booleans"></span><em class="property"><span class="pre">struct</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a><span class="pre">.</span><a class="reference internal" href="#c.json_array_t.arr" title="json_array_t.arr"><span class="pre">arr</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">booleans</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_array_t.arr.booleans.store">
<span class="target" id="structjson__array__t_8arr_8booleans_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="pre">bool</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">store</span></code><a class="headerlink" href="#c.json_array_t.arr.booleans.store" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c union">
<dt>
<span class="target" id="unionjson__attr__t_8addr"></span><em class="property"><span class="pre">union</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="pre">json_attr_t</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">addr</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_attr_t.addr.integer">
<span class="target" id="unionjson__attr__t_8addr_1a157db7df530023575515d366c9b672e8"></span><span class="pre">long</span> <span class="pre">long</span> <span class="pre">int</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">integer</span></code><a class="headerlink" href="#c.json_attr_t.addr.integer" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt>
<span class="target" id="unionjson__attr__t_8addr_1a7ae91ffc6993509a08960de7d8307a71"></span><code class="sig-name descname"><span class="pre">long</span> <span class="pre">long</span> <span class="pre">unsigned</span> <span class="pre">int</span> <span class="pre">*</span> <span class="pre">uinteger</span></code></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.addr.real">
<span class="target" id="unionjson__attr__t_8addr_1a4bca24304861acde5770fdbe3cc2503b"></span><span class="pre">double</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">real</span></code><a class="headerlink" href="#c.json_attr_t.addr.real" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.addr.string">
<span class="target" id="unionjson__attr__t_8addr_1ab45cffe084dd3d20d928bee85e7b0f21"></span><span class="pre">char</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">string</span></code><a class="headerlink" href="#c.json_attr_t.addr.string" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.addr.boolean">
<span class="target" id="unionjson__attr__t_8addr_1a84e2c64f38f78ba3ea5c905ab5a2da27"></span><span class="pre">bool</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">boolean</span></code><a class="headerlink" href="#c.json_attr_t.addr.boolean" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.addr.character">
<span class="target" id="unionjson__attr__t_8addr_1aa956161a69928cd130a889b88082fb6e"></span><span class="pre">char</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">character</span></code><a class="headerlink" href="#c.json_attr_t.addr.character" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.addr.array">
<span class="target" id="unionjson__attr__t_8addr_1af1f713c9e000f5d3f280adbd124df4f5"></span><em class="property"><span class="pre">struct</span></em> <a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="pre">json_array_t</span></a> <code class="sig-name descname"><span class="pre">array</span></code><a class="headerlink" href="#c.json_attr_t.addr.array" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.addr.offset">
<span class="target" id="unionjson__attr__t_8addr_1a7a86c157ee9713c34fbd7a1ee40f0c5a"></span><span class="pre">size_t</span> <code class="sig-name descname"><span class="pre">offset</span></code><a class="headerlink" href="#c.json_attr_t.addr.offset" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c union">
<dt>
<span class="target" id="unionjson__attr__t_8dflt"></span><em class="property"><span class="pre">union</span> </em><code class="sig-prename descclassname"><a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="pre">json_attr_t</span></a><code class="sig-prename descclassname"><span class="pre">.</span></code></code><code class="sig-name descname"><span class="pre">dflt</span></code><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="c var">
<dt id="c.json_attr_t.dflt.integer">
<span class="target" id="unionjson__attr__t_8dflt_1a157db7df530023575515d366c9b672e8"></span><span class="pre">long</span> <span class="pre">long</span> <span class="pre">int</span> <code class="sig-name descname"><span class="pre">integer</span></code><a class="headerlink" href="#c.json_attr_t.dflt.integer" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt>
<span class="target" id="unionjson__attr__t_8dflt_1a7ae91ffc6993509a08960de7d8307a71"></span><code class="sig-name descname"><span class="pre">long</span> <span class="pre">long</span> <span class="pre">unsigned</span> <span class="pre">int</span> <span class="pre">uinteger</span></code></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.dflt.real">
<span class="target" id="unionjson__attr__t_8dflt_1a4bca24304861acde5770fdbe3cc2503b"></span><span class="pre">double</span> <code class="sig-name descname"><span class="pre">real</span></code><a class="headerlink" href="#c.json_attr_t.dflt.real" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.dflt.boolean">
<span class="target" id="unionjson__attr__t_8dflt_1a84e2c64f38f78ba3ea5c905ab5a2da27"></span><span class="pre">bool</span> <code class="sig-name descname"><span class="pre">boolean</span></code><a class="headerlink" href="#c.json_attr_t.dflt.boolean" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.dflt.character">
<span class="target" id="unionjson__attr__t_8dflt_1aa956161a69928cd130a889b88082fb6e"></span><span class="pre">char</span> <code class="sig-name descname"><span class="pre">character</span></code><a class="headerlink" href="#c.json_attr_t.dflt.character" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt id="c.json_attr_t.dflt.check">
<span class="target" id="unionjson__attr__t_8dflt_1a0ba4439ee9a46d9d9f14c60f88f45f87"></span><span class="pre">char</span> <span class="pre">*</span><code class="sig-name descname"><span class="pre">check</span></code><a class="headerlink" href="#c.json_attr_t.dflt.check" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</div>
</div>
</div>
</div>
<div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
<a href="../mfg/mfg.html" class="btn btn-neutral float-right" title="Manufacturing Support" accesskey="n">Next: Manufacturing Support <span class="fa fa-arrow-circle-right"></span></a>
<a href="../testutil/testutil.html" class="btn btn-neutral" title="testutil" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: testutil</a>
</div>
</div>
</div>
</div>
<!-- ENDS CONTENT SECTION -->
</div>
<!-- ENDS .content -->
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-xs-12">
<p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
</div>
<div class="col-xs-12">
<div class="logos">
<img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
<small class="footnote">
Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
</small>
<a href="">
<img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
</a>
</div>
</div>
</div>
</div>
</footer>
</div>
<!-- ENDS #wrapper -->
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../',
VERSION:'latest',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt',
LINK_SUFFIX: '.html'
};
</script>
<script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script>
<script type="text/javascript" src="../../../_static/js/bootstrap-3.0.3.min.js"></script>
<script type="text/javascript" src="../../../_static/js/affix.js"></script>
<script type="text/javascript" src="../../../_static/js/main.js"></script>
</body>
</html>