blob: f123275d071d2eae313adbcc07716287bbee2451 [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">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>JSON &mdash; Apache Mynewt latest documentation</title>
<link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
<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>
</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.13.0, Apache NimBLE 1.8.0 </a> released November 25, 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="/cve/">CVE</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="/master" >
Version: master
</option>
<option value="/v1_13_0" >
Version: 1.13.0
</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" >
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" selected="selected" >
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="../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>
</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.6.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">
<section id="json">
<h1>JSON<a class="headerlink" href="#json" title="Link to this heading"></a></h1>
<p>JSON is a data interchange format. The description of this format can be
found from IETF RFC 4627.</p>
<nav class="contents local" 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>
</nav>
<section id="description">
<h2><a class="toc-backref" href="#id1" role="doc-backlink">Description</a><a class="headerlink" href="#description" title="Link to this heading"></a></h2>
<p>This package helps in converting between C data types and JSON data
objects. It supports both encoding and decoding.</p>
</section>
<section id="data-structures">
<h2><a class="toc-backref" href="#id2" role="doc-backlink">Data structures</a><a class="headerlink" href="#data-structures" title="Link to this heading"></a></h2>
<section id="encoding">
<h3><a class="toc-backref" href="#id3" role="doc-backlink">Encoding</a><a class="headerlink" href="#encoding" title="Link to this heading"></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>
</section>
<section id="decoding">
<h3><a class="toc-backref" href="#id4" role="doc-backlink">Decoding</a><a class="headerlink" href="#decoding" title="Link to this heading"></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">
<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>
</section>
</section>
<section id="api">
<h2><a class="toc-backref" href="#id5" role="doc-backlink">API</a><a class="headerlink" href="#api" title="Link to this heading"></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 class="sig sig-object c" id="c.JSON_VALUE_TYPE_BOOL">
<span class="target" id="json_8h_1a11ab3cb66539e2449c658827a457e93f"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_TYPE_BOOL</span></span></span><a class="headerlink" href="#c.JSON_VALUE_TYPE_BOOL" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_TYPE_UINT64">
<span class="target" id="json_8h_1adce2e00a80a073a5e510b7e867ff41ed"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_TYPE_UINT64</span></span></span><a class="headerlink" href="#c.JSON_VALUE_TYPE_UINT64" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_TYPE_INT64">
<span class="target" id="json_8h_1ab2c19f524e9a60082e572c8a0e1b25a1"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_TYPE_INT64</span></span></span><a class="headerlink" href="#c.JSON_VALUE_TYPE_INT64" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_TYPE_STRING">
<span class="target" id="json_8h_1a764c6ff4bd22d59e87b764e7fe4e5758"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_TYPE_STRING</span></span></span><a class="headerlink" href="#c.JSON_VALUE_TYPE_STRING" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_TYPE_ARRAY">
<span class="target" id="json_8h_1a6767b994750c2c67164a5cbef9d3b80b"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_TYPE_ARRAY</span></span></span><a class="headerlink" href="#c.JSON_VALUE_TYPE_ARRAY" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_TYPE_OBJECT">
<span class="target" id="json_8h_1a60c05d128fd472885c682134391bb890"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_TYPE_OBJECT</span></span></span><a class="headerlink" href="#c.JSON_VALUE_TYPE_OBJECT" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_STRING">
<span class="target" id="json_8h_1a8224bb688ff811e7c2529fdf33f00c98"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_STRING</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">__jv</span></span>, <span class="n"><span class="pre">__str</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_STRING" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_STRINGN">
<span class="target" id="json_8h_1ac2898f9e8d34e76185a32e517ad1c162"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_STRINGN</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">__jv</span></span>, <span class="n"><span class="pre">__str</span></span>, <span class="n"><span class="pre">__len</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_STRINGN" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_BOOL">
<span class="target" id="json_8h_1abdf2bbd17c29ba5d8ae9bd89c65cb2ae"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_BOOL</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">__jv</span></span>, <span class="n"><span class="pre">__v</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_BOOL" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_INT">
<span class="target" id="json_8h_1a9d091db19c4f474ce8de520feb826abd"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_INT</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">__jv</span></span>, <span class="n"><span class="pre">__v</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_INT" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VALUE_UINT">
<span class="target" id="json_8h_1a35c659ef5aafea168b29f2d7e054cfac"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VALUE_UINT</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">__jv</span></span>, <span class="n"><span class="pre">__v</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_VALUE_UINT" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_NITEMS">
<span class="target" id="json_8h_1a37bd2b159616b9d97930ca56d9de2578"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_NITEMS</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">x</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_NITEMS" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ATTR_MAX">
<span class="target" id="json_8h_1a53cc0c059c9024bb8cf3e5ec4c5ae6f1"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ATTR_MAX</span></span></span><a class="headerlink" href="#c.JSON_ATTR_MAX" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_VAL_MAX">
<span class="target" id="json_8h_1a052936e3c29907971b3a4c9ab78bd5fc"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_VAL_MAX</span></span></span><a class="headerlink" href="#c.JSON_VAL_MAX" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_OBSTART">
<span class="target" id="json_8h_1ae9b6b147c3f6f6a2802d2b5f663ad3ed"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_OBSTART</span></span></span><a class="headerlink" href="#c.JSON_ERR_OBSTART" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_ATTRSTART">
<span class="target" id="json_8h_1ab5f935675d0c4aae102f580b2e444101"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_ATTRSTART</span></span></span><a class="headerlink" href="#c.JSON_ERR_ATTRSTART" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_BADATTR">
<span class="target" id="json_8h_1a49588f5bac2e1cfc7b29a6bf14bd8ce6"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_BADATTR</span></span></span><a class="headerlink" href="#c.JSON_ERR_BADATTR" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_ATTRLEN">
<span class="target" id="json_8h_1aa2b5457f31db0dd45547497c49c7d22d"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_ATTRLEN</span></span></span><a class="headerlink" href="#c.JSON_ERR_ATTRLEN" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_NOARRAY">
<span class="target" id="json_8h_1a50ca5aac77197d251d2cccc2a8eede64"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_NOARRAY</span></span></span><a class="headerlink" href="#c.JSON_ERR_NOARRAY" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_NOBRAK">
<span class="target" id="json_8h_1a62fe3d48bff4f4d8da521cc826039072"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_NOBRAK</span></span></span><a class="headerlink" href="#c.JSON_ERR_NOBRAK" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_STRLONG">
<span class="target" id="json_8h_1a262de1ba9430fcf34d698cb1e3e00840"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_STRLONG</span></span></span><a class="headerlink" href="#c.JSON_ERR_STRLONG" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_TOKLONG">
<span class="target" id="json_8h_1a1fcd61c50cd518e662fe6e0f0d63999d"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_TOKLONG</span></span></span><a class="headerlink" href="#c.JSON_ERR_TOKLONG" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_BADTRAIL">
<span class="target" id="json_8h_1a15733fb3ee36332d5fc92a1bc4918fa2"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_BADTRAIL</span></span></span><a class="headerlink" href="#c.JSON_ERR_BADTRAIL" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_ARRAYSTART">
<span class="target" id="json_8h_1a902bc1be02d2560d7ff3bf2bb96d9a3d"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_ARRAYSTART</span></span></span><a class="headerlink" href="#c.JSON_ERR_ARRAYSTART" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_OBJARR">
<span class="target" id="json_8h_1a25eaf8851f318c9fc148f9307abff072"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_OBJARR</span></span></span><a class="headerlink" href="#c.JSON_ERR_OBJARR" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_SUBTOOLONG">
<span class="target" id="json_8h_1a82fecd648f98823f35d2a8955a44caa3"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_SUBTOOLONG</span></span></span><a class="headerlink" href="#c.JSON_ERR_SUBTOOLONG" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_BADSUBTRAIL">
<span class="target" id="json_8h_1ad0243a253b7c930223c03ad8177c302d"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_BADSUBTRAIL</span></span></span><a class="headerlink" href="#c.JSON_ERR_BADSUBTRAIL" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_SUBTYPE">
<span class="target" id="json_8h_1a0a3fa03e0db4341a39cd4ab4b8702c6f"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_SUBTYPE</span></span></span><a class="headerlink" href="#c.JSON_ERR_SUBTYPE" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_BADSTRING">
<span class="target" id="json_8h_1a9229773bc0269e975ca50cfd7773004e"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_BADSTRING</span></span></span><a class="headerlink" href="#c.JSON_ERR_BADSTRING" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_CHECKFAIL">
<span class="target" id="json_8h_1a6eeaa58961e416b9e365f0f1a9bb02f9"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_CHECKFAIL</span></span></span><a class="headerlink" href="#c.JSON_ERR_CHECKFAIL" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_NOPARSTR">
<span class="target" id="json_8h_1aa2fbb24cc33f7c02782eb55931216ebf"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_NOPARSTR</span></span></span><a class="headerlink" href="#c.JSON_ERR_NOPARSTR" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_BADENUM">
<span class="target" id="json_8h_1adc614fc0da80c147e0a151c6cff885fb"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_BADENUM</span></span></span><a class="headerlink" href="#c.JSON_ERR_BADENUM" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_QNONSTRING">
<span class="target" id="json_8h_1aa0520a896b6fb83d207d15d251920d63"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_QNONSTRING</span></span></span><a class="headerlink" href="#c.JSON_ERR_QNONSTRING" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_NONQSTRING">
<span class="target" id="json_8h_1af025d85e2942410dfb1f0710317aa7f4"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_NONQSTRING</span></span></span><a class="headerlink" href="#c.JSON_ERR_NONQSTRING" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_MISC">
<span class="target" id="json_8h_1a254fbb573de24c7b9e3ed97645276c10"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_MISC</span></span></span><a class="headerlink" href="#c.JSON_ERR_MISC" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_BADNUM">
<span class="target" id="json_8h_1a594e72a77760007ddc6a10ca7815903a"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_BADNUM</span></span></span><a class="headerlink" href="#c.JSON_ERR_BADNUM" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_ERR_NULLPTR">
<span class="target" id="json_8h_1ad254d2a4dc8f19dbc77b754f1f474c3a"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_ERR_NULLPTR</span></span></span><a class="headerlink" href="#c.JSON_ERR_NULLPTR" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_STRUCT_OBJECT">
<span class="target" id="json_8h_1ab8064a761eae5bfc5692146cbc221ada"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_STRUCT_OBJECT</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">s</span></span>, <span class="n"><span class="pre">f</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_STRUCT_OBJECT" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c macro">
<dt class="sig sig-object c" id="c.JSON_STRUCT_ARRAY">
<span class="target" id="json_8h_1a000ccd5256487dea6e2cdece3dc22487"></span><span class="sig-name descname"><span class="n"><span class="pre">JSON_STRUCT_ARRAY</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">a</span></span>, <span class="n"><span class="pre">e</span></span>, <span class="n"><span class="pre">n</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.JSON_STRUCT_ARRAY" title="Link 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 class="sig sig-object c" id="c.json_write_func_t">
<span class="target" id="json_8h_1a69ffd31fcc1a28b60ad7663fe751fe20"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">json_write_func_t</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">buf</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">len</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#c.json_write_func_t" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c type">
<dt class="sig sig-object c" id="c.json_buffer_read_next_byte_t">
<span class="target" id="json_8h_1a549ad08a01c91b8e724db44b2ddf3fbb"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">json_buffer_read_next_byte_t</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="n"><span class="pre">json_buffer</span></span></a><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#c.json_buffer_read_next_byte_t" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c type">
<dt class="sig sig-object c" id="c.json_buffer_read_prev_byte_t">
<span class="target" id="json_8h_1a3b4f99ff7b7fc542b1a0f9940ee1ed26"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">json_buffer_read_prev_byte_t</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="n"><span class="pre">json_buffer</span></span></a><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#c.json_buffer_read_prev_byte_t" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c type">
<dt class="sig sig-object c" id="c.json_buffer_readn_t">
<span class="target" id="json_8h_1afdb5e06ff85fb414196c0bac63050349"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">json_buffer_readn_t</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="n"><span class="pre">json_buffer</span></span></a><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">buf</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">n</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#c.json_buffer_readn_t" title="Link 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 class="sig sig-object c" id="c.json_type">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06c"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_type</span></span></span><a class="headerlink" href="#c.json_type" title="Link to this definition"></a><br /></dt>
<dd><p><em>Values:</em></p>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_integer">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06caa5e808cd90a0f95eebf92ce1ef8c6ee8"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_integer</span></span></span><a class="headerlink" href="#c.json_type.t_integer" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_uinteger">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca0ac65198ff55ee5dd3ae1f7463330705"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_uinteger</span></span></span><a class="headerlink" href="#c.json_type.t_uinteger" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_real">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06cab7d40da723d37968f9553fc42dfca586"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_real</span></span></span><a class="headerlink" href="#c.json_type.t_real" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_string">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca8246d1915b02da046caa65da7b069675"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_string</span></span></span><a class="headerlink" href="#c.json_type.t_string" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_boolean">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca43e05912dd4d27a96ece5e1993f8c9e8"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_boolean</span></span></span><a class="headerlink" href="#c.json_type.t_boolean" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_character">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca82166ed312c58365bc369faf61e77b4c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_character</span></span></span><a class="headerlink" href="#c.json_type.t_character" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_object">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca63d3156c32c0c1b4fa4c386b09f07b7c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_object</span></span></span><a class="headerlink" href="#c.json_type.t_object" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_structobject">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06caeea09a68055a2331c5b65597e50995f1"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_structobject</span></span></span><a class="headerlink" href="#c.json_type.t_structobject" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_array">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06cad80026c5b004fb095839e2fece6e3fde"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_array</span></span></span><a class="headerlink" href="#c.json_type.t_array" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_check">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06ca09c543b90060fee4eaf13f459c36fe1a"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_check</span></span></span><a class="headerlink" href="#c.json_type.t_check" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c enumerator">
<dt class="sig sig-object c" id="c.json_type.t_ignore">
<span class="target" id="json_8h_1ac75c61993722a9b8aaa44704072ec06cadc4bd949759bc4c9505eb101ae9da92c"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">t_ignore</span></span></span><a class="headerlink" href="#c.json_type.t_ignore" title="Link 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 class="sig sig-object c" id="c.json_encode_object_start">
<span class="target" id="json_8h_1a60de81baf4d0fb064319f65476357b1f"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encode_object_start</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="n"><span class="pre">json_encoder</span></span></a><span class="p"><span class="pre">*</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_object_start" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_encode_object_key">
<span class="target" id="json_8h_1a66c51fb624e215f2d9cc88291fc95ee5"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encode_object_key</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="n"><span class="pre">json_encoder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">encoder</span></span>, <span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">key</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_object_key" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_encode_object_entry">
<span class="target" id="json_8h_1a5bb380e43c2aff392b23b4671aba1117"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encode_object_entry</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="n"><span class="pre">json_encoder</span></span></a><span class="p"><span class="pre">*</span></span>, <span class="kt"><span class="pre">char</span></span><span class="p"><span class="pre">*</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_value" title="json_value"><span class="n"><span class="pre">json_value</span></span></a><span class="p"><span class="pre">*</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_object_entry" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_encode_object_finish">
<span class="target" id="json_8h_1a2440f4fea6c79c9d886e5d9fd6ccd255"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encode_object_finish</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="n"><span class="pre">json_encoder</span></span></a><span class="p"><span class="pre">*</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_object_finish" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_encode_array_name">
<span class="target" id="json_8h_1af4158fed79453824ee310aeaf12d2c6f"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encode_array_name</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="n"><span class="pre">json_encoder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">encoder</span></span>, <span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">name</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_array_name" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_encode_array_start">
<span class="target" id="json_8h_1a49eceabeb1866eb8f3568f584c5f62a1"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encode_array_start</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="n"><span class="pre">json_encoder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">encoder</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_array_start" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_encode_array_value">
<span class="target" id="json_8h_1a3ad18484b654fbea01746f2633bc80d4"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encode_array_value</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="n"><span class="pre">json_encoder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">encoder</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_value" title="json_value"><span class="n"><span class="pre">json_value</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">val</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_array_value" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_encode_array_finish">
<span class="target" id="json_8h_1a4b331504f35a3b492658e3cf46e7d173"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encode_array_finish</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_encoder" title="json_encoder"><span class="n"><span class="pre">json_encoder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">encoder</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_encode_array_finish" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_read_object">
<span class="target" id="json_8h_1a0d74b15e9c3a69fd85b1dffd7c26740f"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_read_object</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="n"><span class="pre">json_buffer</span></span></a><span class="p"><span class="pre">*</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="n"><span class="pre">json_attr_t</span></span></a><span class="p"><span class="pre">*</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_read_object" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.json_read_array">
<span class="target" id="json_8h_1a3b1c480e9a3e520c76b4f196f06e162f"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_read_array</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_buffer" title="json_buffer"><span class="n"><span class="pre">json_buffer</span></span></a><span class="p"><span class="pre">*</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="p"><span class="pre">*</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.json_read_array" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<dl class="c struct">
<dt class="sig sig-object c" id="c.json_value">
<span class="target" id="structjson__value"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_value</span></span></span><a class="headerlink" href="#c.json_value" title="Link to this definition"></a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;json.h&gt;</em></div>
<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 class="sig sig-object c" id="c.json_value.jv_pad1">
<span class="target" id="structjson__value_1a4dbb78de5550df4839f6905098307dd2"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">jv_pad1</span></span></span><a class="headerlink" href="#c.json_value.jv_pad1" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_value.jv_type">
<span class="target" id="structjson__value_1a10775a32dbe037efe80d34f7323aab09"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">jv_type</span></span></span><a class="headerlink" href="#c.json_value.jv_type" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_value.jv_len">
<span class="target" id="structjson__value_1a1b8d344d2706dcda6a210be81327ee05"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">jv_len</span></span></span><a class="headerlink" href="#c.json_value.jv_len" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_value.jv_val">
<span class="target" id="structjson__value_1aa7dfa1a5685146963a9a648fff704934"></span><span class="k"><span class="pre">union</span></span><span class="w"> </span><a class="reference internal" href="#c.json_value" title="json_value"><span class="n"><span class="pre">json_value</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">jv_val</span></span></span><a class="headerlink" href="#c.json_value.jv_val" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c" id="c.json_encoder">
<span class="target" id="structjson__encoder"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_encoder</span></span></span><a class="headerlink" href="#c.json_encoder" title="Link to this definition"></a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;json.h&gt;</em></div>
<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 class="sig sig-object c" 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="n"><span class="pre">json_write_func_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">je_write</span></span></span><a class="headerlink" href="#c.json_encoder.je_write" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_encoder.je_arg">
<span class="target" id="structjson__encoder_1a208e659f1d009189e3b01adba9f1fb35"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">je_arg</span></span></span><a class="headerlink" href="#c.json_encoder.je_arg" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_encoder.je_wr_commas">
<span class="target" id="structjson__encoder_1a13ad211e80a1cfa0a2f95d2216fdb8f5"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">je_wr_commas</span></span></span><a class="headerlink" href="#c.json_encoder.je_wr_commas" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_encoder.je_encode_buf">
<span class="target" id="structjson__encoder_1a0e8407af7666345ea144e3309e71f27f"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">je_encode_buf</span></span></span><span class="p"><span class="pre">[</span></span><span class="m"><span class="pre">64</span></span><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#c.json_encoder.je_encode_buf" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c" id="c.json_enum_t">
<span class="target" id="structjson__enum__t"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_enum_t</span></span></span><a class="headerlink" href="#c.json_enum_t" title="Link to this definition"></a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;json.h&gt;</em></div>
<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 class="sig sig-object c" id="c.json_enum_t.name">
<span class="target" id="structjson__enum__t_1ae862509591dc420f72f1969406d24d74"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><a class="headerlink" href="#c.json_enum_t.name" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_enum_t.value">
<span class="target" id="structjson__enum__t_1ace6bd6837b006c8a656e2fc2f0caa86f"></span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">value</span></span></span><a class="headerlink" href="#c.json_enum_t.value" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c" id="c.json_array_t">
<span class="target" id="structjson__array__t"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_array_t</span></span></span><a class="headerlink" href="#c.json_array_t" title="Link to this definition"></a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;json.h&gt;</em></div>
<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 class="sig sig-object c" 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="n"><span class="pre">json_type</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">element_type</span></span></span><a class="headerlink" href="#c.json_array_t.element_type" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr">
<span class="target" id="structjson__array__t_1a12afe641f75dbf8bb9e5299beef3fb11"></span><span class="k"><span class="pre">union</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">arr</span></span></span><a class="headerlink" href="#c.json_array_t.arr" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.count">
<span class="target" id="structjson__array__t_1ab863103f7024c73a33486826ee4cd4d3"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">count</span></span></span><a class="headerlink" href="#c.json_array_t.count" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.maxlen">
<span class="target" id="structjson__array__t_1a5a8c05a0ca8b218cff165905a631d129"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">maxlen</span></span></span><a class="headerlink" href="#c.json_array_t.maxlen" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c" id="c.json_attr_t">
<span class="target" id="structjson__attr__t"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_attr_t</span></span></span><a class="headerlink" href="#c.json_attr_t" title="Link to this definition"></a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;json.h&gt;</em></div>
<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 class="sig sig-object c" id="c.json_attr_t.attribute">
<span class="target" id="structjson__attr__t_1a79c32d3aa2aef950f06211648dff349f"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">attribute</span></span></span><a class="headerlink" href="#c.json_attr_t.attribute" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" 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="n"><span class="pre">json_type</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">type</span></span></span><a class="headerlink" href="#c.json_attr_t.type" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.addr">
<span class="target" id="structjson__attr__t_1a3f53074e44e639830b62209efef29ebf"></span><span class="k"><span class="pre">union</span></span><span class="w"> </span><a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="n"><span class="pre">json_attr_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">addr</span></span></span><a class="headerlink" href="#c.json_attr_t.addr" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.dflt">
<span class="target" id="structjson__attr__t_1a513906d095552436267529275400f639"></span><span class="k"><span class="pre">union</span></span><span class="w"> </span><a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="n"><span class="pre">json_attr_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dflt</span></span></span><a class="headerlink" href="#c.json_attr_t.dflt" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.len">
<span class="target" id="structjson__attr__t_1a74e96688c431b799ecd6477cee550943"></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">len</span></span></span><a class="headerlink" href="#c.json_attr_t.len" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.map">
<span class="target" id="structjson__attr__t_1a2392183304f21ee8c6bd897a3136d431"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_enum_t" title="json_enum_t"><span class="n"><span class="pre">json_enum_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">map</span></span></span><a class="headerlink" href="#c.json_attr_t.map" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.nodefault">
<span class="target" id="structjson__attr__t_1a1d514270f3a0bf1470f7e798ccf2d7c1"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">nodefault</span></span></span><a class="headerlink" href="#c.json_attr_t.nodefault" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c" id="c.json_buffer">
<span class="target" id="structjson__buffer"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">json_buffer</span></span></span><a class="headerlink" href="#c.json_buffer" title="Link to this definition"></a><br /></dt>
<dd><div class="docutils container">
<em>#include &lt;json.h&gt;</em></div>
<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 class="sig sig-object c" 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="n"><span class="pre">json_buffer_readn_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">jb_readn</span></span></span><a class="headerlink" href="#c.json_buffer.jb_readn" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" 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="n"><span class="pre">json_buffer_read_next_byte_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">jb_read_next</span></span></span><a class="headerlink" href="#c.json_buffer.jb_read_next" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" 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="n"><span class="pre">json_buffer_read_prev_byte_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">jb_read_prev</span></span></span><a class="headerlink" href="#c.json_buffer.jb_read_prev" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c union">
<dt class="sig sig-object c">
<span class="target" id="unionjson__value_8jv__val"></span><span class="k"><span class="pre">union</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">jv_val</span></span></span><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 class="sig sig-object c" id="c.json_value.jv_val.u">
<span class="target" id="unionjson__value_8jv__val_1a7b774effe4a349c6dd82ad4f4f21d34c"></span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">u</span></span></span><a class="headerlink" href="#c.json_value.jv_val.u" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_value.jv_val.fl">
<span class="target" id="unionjson__value_8jv__val_1a3d296788f2a7e19ffbd912521d94a5f4"></span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fl</span></span></span><a class="headerlink" href="#c.json_value.jv_val.fl" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_value.jv_val.str">
<span class="target" id="unionjson__value_8jv__val_1a341be97d9aff90c9978347f66f945b77"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">str</span></span></span><a class="headerlink" href="#c.json_value.jv_val.str" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_value.jv_val.composite">
<span class="target" id="unionjson__value_8jv__val_1aece0fa92c82afc69092153da33069c87"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_value" title="json_value"><span class="n"><span class="pre">json_value</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">composite</span></span></span><a class="headerlink" href="#c.json_value.jv_val.composite" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c">
<span class="target" id="structjson__value_8jv__val_8composite"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">composite</span></span></span><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 class="sig sig-object c" id="c.json_value.jv_val.composite.keys">
<span class="target" id="structjson__value_8jv__val_8composite_1a14f802e1fba977727845e8872c1743a7"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">keys</span></span></span><a class="headerlink" href="#c.json_value.jv_val.composite.keys" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_value.jv_val.composite.values">
<span class="target" id="structjson__value_8jv__val_8composite_1af09cc7ee3a9a93273f4b80601cafb00c"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_value" title="json_value"><span class="n"><span class="pre">json_value</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">values</span></span></span><a class="headerlink" href="#c.json_value.jv_val.composite.values" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c union">
<dt class="sig sig-object c">
<span class="target" id="unionjson__array__t_8arr"></span><span class="k"><span class="pre">union</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">arr</span></span></span><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 class="sig sig-object c" id="c.json_array_t.arr.objects">
<span class="target" id="unionjson__array__t_8arr_1a5891da2d64975cae48d175d1e001f5da"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">objects</span></span></span><a class="headerlink" href="#c.json_array_t.arr.objects" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.strings">
<span class="target" id="unionjson__array__t_8arr_1a8bcf6629759bd278a5c6266bd9c054f8"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">strings</span></span></span><a class="headerlink" href="#c.json_array_t.arr.strings" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.integers">
<span class="target" id="unionjson__array__t_8arr_1a0f6d4c87224d52f488225cab8b1096f5"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">integers</span></span></span><a class="headerlink" href="#c.json_array_t.arr.integers" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.uintegers">
<span class="target" id="unionjson__array__t_8arr_1aea551a855dcde1be2a73e5a36931ba56"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">uintegers</span></span></span><a class="headerlink" href="#c.json_array_t.arr.uintegers" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.reals">
<span class="target" id="unionjson__array__t_8arr_1a7d1dbc271aa4b8e06fc199d250ce8e17"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">reals</span></span></span><a class="headerlink" href="#c.json_array_t.arr.reals" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.booleans">
<span class="target" id="unionjson__array__t_8arr_1aefff7868ab542964cb9b3752d3ab0357"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="p"><span class="pre">.</span></span><span class="n"><span class="pre">[anonymous]</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">booleans</span></span></span><a class="headerlink" href="#c.json_array_t.arr.booleans" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c">
<span class="target" id="structjson__array__t_8arr_8objects"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">objects</span></span></span><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 class="sig sig-object c" id="c.json_array_t.arr.objects.subtype">
<span class="target" id="structjson__array__t_8arr_8objects_1a2e282b0d23d6ec55185caeb87b41c0e0"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_attr_t" title="json_attr_t"><span class="n"><span class="pre">json_attr_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">subtype</span></span></span><a class="headerlink" href="#c.json_array_t.arr.objects.subtype" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.objects.base">
<span class="target" id="structjson__array__t_8arr_8objects_1a593616de15330c0fb2d55e55410bf994"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">base</span></span></span><a class="headerlink" href="#c.json_array_t.arr.objects.base" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.objects.stride">
<span class="target" id="structjson__array__t_8arr_8objects_1a47101375aa96fa02cfb1d55fd00af989"></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stride</span></span></span><a class="headerlink" href="#c.json_array_t.arr.objects.stride" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c">
<span class="target" id="structjson__array__t_8arr_8strings"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">strings</span></span></span><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 class="sig sig-object c" id="c.json_array_t.arr.strings.ptrs">
<span class="target" id="structjson__array__t_8arr_8strings_1a8639cc5d6bb46f78e955b2876250222a"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">ptrs</span></span></span><a class="headerlink" href="#c.json_array_t.arr.strings.ptrs" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.strings.store">
<span class="target" id="structjson__array__t_8arr_8strings_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">store</span></span></span><a class="headerlink" href="#c.json_array_t.arr.strings.store" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_array_t.arr.strings.storelen">
<span class="target" id="structjson__array__t_8arr_8strings_1a35bb86a90f9e22d8e6019b81ab8535e5"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">storelen</span></span></span><a class="headerlink" href="#c.json_array_t.arr.strings.storelen" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c">
<span class="target" id="structjson__array__t_8arr_8integers"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">integers</span></span></span><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 class="sig sig-object c" id="c.json_array_t.arr.integers.store">
<span class="target" id="structjson__array__t_8arr_8integers_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">store</span></span></span><a class="headerlink" href="#c.json_array_t.arr.integers.store" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c">
<span class="target" id="structjson__array__t_8arr_8uintegers"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">uintegers</span></span></span><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 class="sig sig-object c" id="c.json_array_t.arr.uintegers.store">
<span class="target" id="structjson__array__t_8arr_8uintegers_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">store</span></span></span><a class="headerlink" href="#c.json_array_t.arr.uintegers.store" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c">
<span class="target" id="structjson__array__t_8arr_8reals"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">reals</span></span></span><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 class="sig sig-object c" id="c.json_array_t.arr.reals.store">
<span class="target" id="structjson__array__t_8arr_8reals_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">store</span></span></span><a class="headerlink" href="#c.json_array_t.arr.reals.store" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c struct">
<dt class="sig sig-object c">
<span class="target" id="structjson__array__t_8arr_8booleans"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">booleans</span></span></span><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 class="sig sig-object c" id="c.json_array_t.arr.booleans.store">
<span class="target" id="structjson__array__t_8arr_8booleans_1a8cd892b7b97ef9489ae4479d3f4ef0fc"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">store</span></span></span><a class="headerlink" href="#c.json_array_t.arr.booleans.store" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c union">
<dt class="sig sig-object c">
<span class="target" id="unionjson__attr__t_8addr"></span><span class="k"><span class="pre">union</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">addr</span></span></span><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 class="sig sig-object c" id="c.json_attr_t.addr.integer">
<span class="target" id="unionjson__attr__t_8addr_1a157db7df530023575515d366c9b672e8"></span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">integer</span></span></span><a class="headerlink" href="#c.json_attr_t.addr.integer" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.addr.uinteger">
<span class="target" id="unionjson__attr__t_8addr_1a7ae91ffc6993509a08960de7d8307a71"></span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">uinteger</span></span></span><a class="headerlink" href="#c.json_attr_t.addr.uinteger" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.addr.real">
<span class="target" id="unionjson__attr__t_8addr_1a4bca24304861acde5770fdbe3cc2503b"></span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">real</span></span></span><a class="headerlink" href="#c.json_attr_t.addr.real" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.addr.string">
<span class="target" id="unionjson__attr__t_8addr_1ab45cffe084dd3d20d928bee85e7b0f21"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">string</span></span></span><a class="headerlink" href="#c.json_attr_t.addr.string" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.addr.boolean">
<span class="target" id="unionjson__attr__t_8addr_1a84e2c64f38f78ba3ea5c905ab5a2da27"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">boolean</span></span></span><a class="headerlink" href="#c.json_attr_t.addr.boolean" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.addr.character">
<span class="target" id="unionjson__attr__t_8addr_1aa956161a69928cd130a889b88082fb6e"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">character</span></span></span><a class="headerlink" href="#c.json_attr_t.addr.character" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.addr.array">
<span class="target" id="unionjson__attr__t_8addr_1af1f713c9e000f5d3f280adbd124df4f5"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#c.json_array_t" title="json_array_t"><span class="n"><span class="pre">json_array_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">array</span></span></span><a class="headerlink" href="#c.json_attr_t.addr.array" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.addr.offset">
<span class="target" id="unionjson__attr__t_8addr_1a7a86c157ee9713c34fbd7a1ee40f0c5a"></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">offset</span></span></span><a class="headerlink" href="#c.json_attr_t.addr.offset" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
<dl class="c union">
<dt class="sig sig-object c">
<span class="target" id="unionjson__attr__t_8dflt"></span><span class="k"><span class="pre">union</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dflt</span></span></span><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 class="sig sig-object c" id="c.json_attr_t.dflt.integer">
<span class="target" id="unionjson__attr__t_8dflt_1a157db7df530023575515d366c9b672e8"></span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">integer</span></span></span><a class="headerlink" href="#c.json_attr_t.dflt.integer" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.dflt.uinteger">
<span class="target" id="unionjson__attr__t_8dflt_1a7ae91ffc6993509a08960de7d8307a71"></span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">long</span></span><span class="w"> </span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">uinteger</span></span></span><a class="headerlink" href="#c.json_attr_t.dflt.uinteger" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.dflt.real">
<span class="target" id="unionjson__attr__t_8dflt_1a4bca24304861acde5770fdbe3cc2503b"></span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">real</span></span></span><a class="headerlink" href="#c.json_attr_t.dflt.real" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.dflt.boolean">
<span class="target" id="unionjson__attr__t_8dflt_1a84e2c64f38f78ba3ea5c905ab5a2da27"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">boolean</span></span></span><a class="headerlink" href="#c.json_attr_t.dflt.boolean" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.dflt.character">
<span class="target" id="unionjson__attr__t_8dflt_1aa956161a69928cd130a889b88082fb6e"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">character</span></span></span><a class="headerlink" href="#c.json_attr_t.dflt.character" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="c var">
<dt class="sig sig-object c" id="c.json_attr_t.dflt.check">
<span class="target" id="unionjson__attr__t_8dflt_1a0ba4439ee9a46d9d9f14c60f88f45f87"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">check</span></span></span><a class="headerlink" href="#c.json_attr_t.dflt.check" title="Link to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
</section>
</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">
<a href="https://www.apache.org">
<img src="../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
</a>
<p>
Copyright © 2015-2024 The Apache Software Foundation.<br>
<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>
</p>
<a href="https://join.slack.com/t/mynewt/shared_invite/enQtNjA1MTg0NzgyNzg3LTcyMmZiOGQzOGMxM2U4ODFmMTIwNjNmYTE5Y2UwYjQwZWIxNTE0MTUzY2JmMTEzOWFjYWZkNGM0YmM4MzAxNWQ">
<img src="../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
</a>
</div>
</div>
</div>
</div>
<a href="https://www.apache.org/licenses/">
<button class="button-footer-asf">
License
</button>
</a>
<a href="https://www.apache.org/foundation/sponsorship.html">
<button class="button-footer-asf">
Sponsorship
</button>
</a>
<a href="https://www.apache.org/foundation/thanks.html">
<button class="button-footer-asf">
Thanks
</button>
</a>
<a href="https://www.apache.org/security/">
<button class="button-footer-asf">
Security
</button>
</a>
<a href="https://apache.org/events/current-event">
<button class="button-footer-asf">
ASF Events
</button>
</a>
</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/documentation_options.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script>
<script type="text/javascript" src="../../../_static/sphinx_highlight.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>