blob: 56886fc894768b6ca444baeec14993f7602eccec [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC Core: src/core/json/json_reader.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC Core
&#160;<span id="projectnumber">0.10.0.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.html">core</a></li><li class="navelem"><a class="el" href="dir_7283b8f5e6e3c4b0819c2b491a18d7d4.html">json</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">json_reader.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="json__reader_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright 2015, Google Inc.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions are</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * met:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * * Redistributions in binary form must reproduce the above</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * copyright notice, this list of conditions and the following disclaimer</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * in the documentation and/or other materials provided with the</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * distribution.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * * Neither the name of Google Inc. nor the names of its</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * contributors may be used to endorse or promote products derived from</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * this software without specific prior written permission.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPC_INTERNAL_CORE_JSON_JSON_READER_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_INTERNAL_CORE_JSON_JSON_READER_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="port__platform_8h.html">grpc/support/port_platform.h</a>&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="json__common_8h.html">src/core/json/json_common.h</a>&quot;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3"> 40</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae3661c71859af165b76b78ce3d76b1dd"> 41</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae3661c71859af165b76b78ce3d76b1dd">GRPC_JSON_STATE_OBJECT_KEY_BEGIN</a>,</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a9780461c3c593717ca7d3c493c6dcfdf"> 42</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a9780461c3c593717ca7d3c493c6dcfdf">GRPC_JSON_STATE_OBJECT_KEY_STRING</a>,</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a34fed96cb6df9620bf61b3d22615365f"> 43</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a34fed96cb6df9620bf61b3d22615365f">GRPC_JSON_STATE_OBJECT_KEY_END</a>,</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a670a159c43fdc6905bd8d52c26da1114"> 44</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a670a159c43fdc6905bd8d52c26da1114">GRPC_JSON_STATE_VALUE_BEGIN</a>,</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a35c7798e09ff2c349be10778d2a9003f"> 45</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a35c7798e09ff2c349be10778d2a9003f">GRPC_JSON_STATE_VALUE_STRING</a>,</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad5c59beddcd25dbdf44c3ad129e77fd3"> 46</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad5c59beddcd25dbdf44c3ad129e77fd3">GRPC_JSON_STATE_STRING_ESCAPE</a>,</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a76dafae1aaab777fd9a6bbc26d10a71b"> 47</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a76dafae1aaab777fd9a6bbc26d10a71b">GRPC_JSON_STATE_STRING_ESCAPE_U1</a>,</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3afa7e20c80c15f500c002a738a5d67829"> 48</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3afa7e20c80c15f500c002a738a5d67829">GRPC_JSON_STATE_STRING_ESCAPE_U2</a>,</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae314dc1624daa9ff6b0f63e4b9d03eca"> 49</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae314dc1624daa9ff6b0f63e4b9d03eca">GRPC_JSON_STATE_STRING_ESCAPE_U3</a>,</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a168ce3979bfa152546f8d9d55b70b28f"> 50</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a168ce3979bfa152546f8d9d55b70b28f">GRPC_JSON_STATE_STRING_ESCAPE_U4</a>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a06d56e2f12761077e8f1f99d79e1288a"> 51</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a06d56e2f12761077e8f1f99d79e1288a">GRPC_JSON_STATE_VALUE_NUMBER</a>,</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8b40b7890a6e13c179270475b19406b4"> 52</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8b40b7890a6e13c179270475b19406b4">GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL</a>,</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a4343815cd876adf206462c2d6b2928f1"> 53</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a4343815cd876adf206462c2d6b2928f1">GRPC_JSON_STATE_VALUE_NUMBER_ZERO</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3add9dc89ace1a49e762b0066b67337692"> 54</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3add9dc89ace1a49e762b0066b67337692">GRPC_JSON_STATE_VALUE_NUMBER_DOT</a>,</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ab5fd99deecc891aa5d550c0a4e367cc9"> 55</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ab5fd99deecc891aa5d550c0a4e367cc9">GRPC_JSON_STATE_VALUE_NUMBER_E</a>,</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a078f4e5d5e3aed61060331892d076746"> 56</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a078f4e5d5e3aed61060331892d076746">GRPC_JSON_STATE_VALUE_NUMBER_EPM</a>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a83c0a8d29cef49ab924fd3c2a1ca5e0b"> 57</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a83c0a8d29cef49ab924fd3c2a1ca5e0b">GRPC_JSON_STATE_VALUE_TRUE_R</a>,</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a81ccf65c544696f17a35b6596b73e11b"> 58</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a81ccf65c544696f17a35b6596b73e11b">GRPC_JSON_STATE_VALUE_TRUE_U</a>,</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a51f53cf8933bec52d5cfa2e60952e27c"> 59</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a51f53cf8933bec52d5cfa2e60952e27c">GRPC_JSON_STATE_VALUE_TRUE_E</a>,</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3aeab79537b4e6d7eeba5b80171da78c9c"> 60</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3aeab79537b4e6d7eeba5b80171da78c9c">GRPC_JSON_STATE_VALUE_FALSE_A</a>,</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a50c6454c492bfb09e8fd0560b0c5a5a7"> 61</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a50c6454c492bfb09e8fd0560b0c5a5a7">GRPC_JSON_STATE_VALUE_FALSE_L</a>,</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad0097ae5d9dd0bff25b148574c7085e9"> 62</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad0097ae5d9dd0bff25b148574c7085e9">GRPC_JSON_STATE_VALUE_FALSE_S</a>,</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad30ab18e89a56d134986d7583a364a94"> 63</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad30ab18e89a56d134986d7583a364a94">GRPC_JSON_STATE_VALUE_FALSE_E</a>,</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a90b388ae65ad466503492cdc45b125e2"> 64</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a90b388ae65ad466503492cdc45b125e2">GRPC_JSON_STATE_VALUE_NULL_U</a>,</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8cc64baededcc064adfebf60232f7916"> 65</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8cc64baededcc064adfebf60232f7916">GRPC_JSON_STATE_VALUE_NULL_L1</a>,</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a0b12f5d4a59fd680ef25c3b6f8047cc5"> 66</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a0b12f5d4a59fd680ef25c3b6f8047cc5">GRPC_JSON_STATE_VALUE_NULL_L2</a>,</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a98d936a3fe5cf280c1791d5b1892edc0"> 67</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a98d936a3fe5cf280c1791d5b1892edc0">GRPC_JSON_STATE_VALUE_END</a>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3abb3c4b5760662831b92f941695deb8ab"> 68</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3abb3c4b5760662831b92f941695deb8ab">GRPC_JSON_STATE_END</a></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;} <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3">grpc_json_reader_state</a>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword">enum</span> {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">/* The first non-unicode value is 0x110000. But let&#39;s pick</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> * a value high enough to start our error codes from. These</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> * values are safe to return from the read_char function.</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4daf9fe6e98c983a5c439783f938b3c86d9"> 76</a></span>&#160; <a class="code" href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4daf9fe6e98c983a5c439783f938b3c86d9">GRPC_JSON_READ_CHAR_EOF</a> = 0x7ffffff0,</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4dab16e9d72bca58d8d43810ed53afb12c9"> 77</a></span>&#160; <a class="code" href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4dab16e9d72bca58d8d43810ed53afb12c9">GRPC_JSON_READ_CHAR_EAGAIN</a>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4da8812b963d2fe1700bdcc1a8084cf86bc"> 78</a></span>&#160; <a class="code" href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4da8812b963d2fe1700bdcc1a8084cf86bc">GRPC_JSON_READ_CHAR_ERROR</a></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;};</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keyword">struct </span><a class="code" href="structgrpc__json__reader.html">grpc_json_reader</a>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html"> 83</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__json__reader__vtable.html">grpc_json_reader_vtable</a> {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">/* Clears your internal string scratchpad. */</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a1a897f511ba9249e5ecc7317d9406303"> 85</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#a1a897f511ba9249e5ecc7317d9406303">string_clear</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">/* Adds a char to the string scratchpad. */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a5779d4adf33c3b3364d82390e4c1ad19"> 87</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#a5779d4adf33c3b3364d82390e4c1ad19">string_add_char</a>)(<span class="keywordtype">void</span>* userdata, <a class="code" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> c);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">/* Adds a utf32 char to the string scratchpad. */</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a4d52c7e18e2b74e0cdfe8f0640f79612"> 89</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#a4d52c7e18e2b74e0cdfe8f0640f79612">string_add_utf32</a>)(<span class="keywordtype">void</span>* userdata, <a class="code" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> c);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">/* Reads a character from your input. May be utf-8, 16 or 32. */</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#ab5c62db09b25908b401cf00eb84861ca"> 91</a></span>&#160; <a class="code" href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a> (*<a class="code" href="structgrpc__json__reader__vtable.html#ab5c62db09b25908b401cf00eb84861ca">read_char</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">/* Starts a container of type GRPC_JSON_ARRAY or GRPC_JSON_OBJECT. */</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a242f9eb6d061c65a99961437aff699d4"> 93</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#a242f9eb6d061c65a99961437aff699d4">container_begins</a>)(<span class="keywordtype">void</span>* userdata, <a class="code" href="json__common_8h.html#a3e82983bba0988c52251467566a07ce2">grpc_json_type</a> type);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">/* Ends the current container. Must return the type of its parent. */</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a31c9c8c5f283107290d4a20bf25315ec"> 95</a></span>&#160; <a class="code" href="json__common_8h.html#a3e82983bba0988c52251467566a07ce2">grpc_json_type</a> (*<a class="code" href="structgrpc__json__reader__vtable.html#a31c9c8c5f283107290d4a20bf25315ec">container_ends</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="comment">/* Your internal string scratchpad is an object&#39;s key. */</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a697d38cfb36a9cb41ace4170296f9cd7"> 97</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#a697d38cfb36a9cb41ace4170296f9cd7">set_key</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">/* Your internal string scratchpad is a string value. */</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a39f2535f918f767506b9665e36f97fb4"> 99</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#a39f2535f918f767506b9665e36f97fb4">set_string</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">/* Your internal string scratchpad is a numerical value. Return 1 if valid. */</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#ab55442ecf7aed98d3b638f171faff596"> 101</a></span>&#160; int (*<a class="code" href="structgrpc__json__reader__vtable.html#ab55442ecf7aed98d3b638f171faff596">set_number</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">/* Sets the values true, false or null. */</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a4f5529f47edb119c9ee8a36800cf436e"> 103</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#a4f5529f47edb119c9ee8a36800cf436e">set_true</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#a49fbb01d6b590b1c2e1fa52e6eb31ce6"> 104</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#a49fbb01d6b590b1c2e1fa52e6eb31ce6">set_false</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structgrpc__json__reader__vtable.html#ab66de246c1efaad68da9683f017966ff"> 105</a></span>&#160; void (*<a class="code" href="structgrpc__json__reader__vtable.html#ab66de246c1efaad68da9683f017966ff">set_null</a>)(<span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;} <a class="code" href="json__reader_8h.html#ad0e9eed0713ae7021f4b72a0d45784b2">grpc_json_reader_vtable</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html"> 108</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structgrpc__json__reader.html">grpc_json_reader</a> {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">/* That structure is fully private, and initialized by grpc_json_reader_init.</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> * The definition is public so you can put it on your stack.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#a914f3609f07d322bb7ce000dc95324fc"> 113</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="structgrpc__json__reader.html#a914f3609f07d322bb7ce000dc95324fc">userdata</a>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#ac498ef0a1c3dc96126cd86f47f70afa5"> 114</a></span>&#160; <a class="code" href="structgrpc__json__reader__vtable.html">grpc_json_reader_vtable</a>* <a class="code" href="structgrpc__json__reader.html#ac498ef0a1c3dc96126cd86f47f70afa5">vtable</a>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#ae7b4f56a6f58059642e1eaaff14350c4"> 115</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structgrpc__json__reader.html#ae7b4f56a6f58059642e1eaaff14350c4">depth</a>;</div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#ab52b1665e66ad5e4d8aceaed833831e6"> 116</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structgrpc__json__reader.html#ab52b1665e66ad5e4d8aceaed833831e6">in_object</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#a0c2f2a43dcad121aa5ae4d579178c438"> 117</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structgrpc__json__reader.html#a0c2f2a43dcad121aa5ae4d579178c438">in_array</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#a485d8fd2e05cae9a2152bdbd34162107"> 118</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structgrpc__json__reader.html#a485d8fd2e05cae9a2152bdbd34162107">escaped_string_was_key</a>;</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#a8c51726663241af3323dc11320d82ad3"> 119</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structgrpc__json__reader.html#a8c51726663241af3323dc11320d82ad3">container_just_begun</a>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#a8e874c0879d449071610b7643fc7ffe1"> 120</a></span>&#160; <a class="code" href="port__platform_8h.html#abb7bceac4325643af77af51c7b6af371">gpr_uint16</a> <a class="code" href="structgrpc__json__reader.html#a8643069f58019ea5ac61fd2fd1180562">unicode_char</a>, <a class="code" href="structgrpc__json__reader.html#a8e874c0879d449071610b7643fc7ffe1">unicode_high_surrogate</a>;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structgrpc__json__reader.html#a572a9af46e885528855a86fca4535245"> 121</a></span>&#160; <a class="code" href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3">grpc_json_reader_state</a> <a class="code" href="structgrpc__json__reader.html#a572a9af46e885528855a86fca4535245">state</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;} <a class="code" href="json__reader_8h.html#a2e4389a352e99df3e5d9cb59a6c14929">grpc_json_reader</a>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment">/* The return type of the parser. */</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24"> 125</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a3ec47e8c31d09cfc07b3b3459caf5ed7"> 126</a></span>&#160; <a class="code" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a3ec47e8c31d09cfc07b3b3459caf5ed7">GRPC_JSON_DONE</a>, <span class="comment">/* The parser finished successfully. */</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a28dcdba3bcbd64daf22c70df4d1bd3f0"> 127</a></span>&#160; <a class="code" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a28dcdba3bcbd64daf22c70df4d1bd3f0">GRPC_JSON_EAGAIN</a>, <span class="comment">/* The parser yields to get more data. */</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24af34c0d5ee249e46cca43ead968e07ebc"> 128</a></span>&#160; <a class="code" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24af34c0d5ee249e46cca43ead968e07ebc">GRPC_JSON_READ_ERROR</a>, <span class="comment">/* The parser passes through a read error. */</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a9e89bd16fe4ee12cff307413b6f28b6c"> 129</a></span>&#160; <a class="code" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a9e89bd16fe4ee12cff307413b6f28b6c">GRPC_JSON_PARSE_ERROR</a>, <span class="comment">/* The parser found an error in the json stream. */</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24ac3281037071f4e67aa01fb1f096bbfe8"> 130</a></span>&#160; <a class="code" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24ac3281037071f4e67aa01fb1f096bbfe8">GRPC_JSON_INTERNAL_ERROR</a> <span class="comment">/* The parser got an internal error. */</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;} <a class="code" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24">grpc_json_reader_status</a>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment">/* Call this function to start parsing the input. It will return the following:</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> * . GRPC_JSON_DONE if the input got eof, and the parsing finished</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> * successfully.</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> * . GRPC_JSON_EAGAIN if the read_char function returned again. Call the</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> * parser again as needed. It is okay to call the parser in polling mode,</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> * although a bit dull.</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> * . GRPC_JSON_READ_ERROR if the read_char function returned an error. The</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> * state isn&#39;t broken however, and the function can be called again if the</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> * error has been corrected. But please use the EAGAIN feature instead for</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> * consistency.</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> * . GRPC_JSON_PARSE_ERROR if the input was somehow invalid.</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> * . GRPC_JSON_INTERNAL_ERROR if the parser somehow ended into an invalid</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> * internal state.</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<a class="code" href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24">grpc_json_reader_status</a> <a class="code" href="json__reader_8h.html#a369a903219dd343358dad9e4cc67cedb">grpc_json_reader_run</a>(<a class="code" href="structgrpc__json__reader.html">grpc_json_reader</a>* reader);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment">/* Call this function to initialize the reader structure. */</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keywordtype">void</span> <a class="code" href="json__reader_8h.html#acb17637cdaf7d1bc6c5403eb2cdd2b1b">grpc_json_reader_init</a>(<a class="code" href="structgrpc__json__reader.html">grpc_json_reader</a>* reader,</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="structgrpc__json__reader__vtable.html">grpc_json_reader_vtable</a>* vtable, <span class="keywordtype">void</span>* userdata);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment">/* You may call this from the read_char callback if you don&#39;t know where is the</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> * end of your input stream, and you&#39;d like the json reader to hint you that it</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> * has completed reading its input, so you can return an EOF to it. Note that</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> * there might still be trailing whitespaces after that point.</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="keywordtype">int</span> <a class="code" href="json__reader_8h.html#aca35ff1405586201c145f8411ce4f611">grpc_json_reader_is_complete</a>(<a class="code" href="structgrpc__json__reader.html">grpc_json_reader</a>* reader);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* GRPC_INTERNAL_CORE_JSON_JSON_READER_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="structgrpc__json__reader_html_ab52b1665e66ad5e4d8aceaed833831e6"><div class="ttname"><a href="structgrpc__json__reader.html#ab52b1665e66ad5e4d8aceaed833831e6">grpc_json_reader::in_object</a></div><div class="ttdeci">int in_object</div><div class="ttdef"><b>Definition:</b> json_reader.h:116</div></div>
<div class="ttc" id="json__reader_8h_html_a369a903219dd343358dad9e4cc67cedb"><div class="ttname"><a href="json__reader_8h.html#a369a903219dd343358dad9e4cc67cedb">grpc_json_reader_run</a></div><div class="ttdeci">grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader)</div><div class="ttdef"><b>Definition:</b> json_reader.c:108</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a31c9c8c5f283107290d4a20bf25315ec"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a31c9c8c5f283107290d4a20bf25315ec">grpc_json_reader_vtable::container_ends</a></div><div class="ttdeci">grpc_json_type(* container_ends)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:95</div></div>
<div class="ttc" id="port__platform_8h_html"><div class="ttname"><a href="port__platform_8h.html">port_platform.h</a></div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a5779d4adf33c3b3364d82390e4c1ad19"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a5779d4adf33c3b3364d82390e4c1ad19">grpc_json_reader_vtable::string_add_char</a></div><div class="ttdeci">void(* string_add_char)(void *userdata, gpr_uint32 c)</div><div class="ttdef"><b>Definition:</b> json_reader.h:87</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a50c6454c492bfb09e8fd0560b0c5a5a7"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a50c6454c492bfb09e8fd0560b0c5a5a7">GRPC_JSON_STATE_VALUE_FALSE_L</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:61</div></div>
<div class="ttc" id="json__reader_8h_html_ad0e9eed0713ae7021f4b72a0d45784b2"><div class="ttname"><a href="json__reader_8h.html#ad0e9eed0713ae7021f4b72a0d45784b2">grpc_json_reader_vtable</a></div><div class="ttdeci">struct grpc_json_reader_vtable grpc_json_reader_vtable</div></div>
<div class="ttc" id="json__reader_8h_html_acb17637cdaf7d1bc6c5403eb2cdd2b1b"><div class="ttname"><a href="json__reader_8h.html#acb17637cdaf7d1bc6c5403eb2cdd2b1b">grpc_json_reader_init</a></div><div class="ttdeci">void grpc_json_reader_init(grpc_json_reader *reader, grpc_json_reader_vtable *vtable, void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.c:94</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a90b388ae65ad466503492cdc45b125e2"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a90b388ae65ad466503492cdc45b125e2">GRPC_JSON_STATE_VALUE_NULL_U</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:64</div></div>
<div class="ttc" id="structgrpc__json__reader_html_a8c51726663241af3323dc11320d82ad3"><div class="ttname"><a href="structgrpc__json__reader.html#a8c51726663241af3323dc11320d82ad3">grpc_json_reader::container_just_begun</a></div><div class="ttdeci">int container_just_begun</div><div class="ttdef"><b>Definition:</b> json_reader.h:119</div></div>
<div class="ttc" id="json__common_8h_html"><div class="ttname"><a href="json__common_8h.html">json_common.h</a></div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html"><div class="ttname"><a href="structgrpc__json__reader__vtable.html">grpc_json_reader_vtable</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:83</div></div>
<div class="ttc" id="structgrpc__json__reader_html_a914f3609f07d322bb7ce000dc95324fc"><div class="ttname"><a href="structgrpc__json__reader.html#a914f3609f07d322bb7ce000dc95324fc">grpc_json_reader::userdata</a></div><div class="ttdeci">void * userdata</div><div class="ttdef"><b>Definition:</b> json_reader.h:113</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a4d52c7e18e2b74e0cdfe8f0640f79612"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a4d52c7e18e2b74e0cdfe8f0640f79612">grpc_json_reader_vtable::string_add_utf32</a></div><div class="ttdeci">void(* string_add_utf32)(void *userdata, gpr_uint32 c)</div><div class="ttdef"><b>Definition:</b> json_reader.h:89</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a670a159c43fdc6905bd8d52c26da1114"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a670a159c43fdc6905bd8d52c26da1114">GRPC_JSON_STATE_VALUE_BEGIN</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:44</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a1a897f511ba9249e5ecc7317d9406303"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a1a897f511ba9249e5ecc7317d9406303">grpc_json_reader_vtable::string_clear</a></div><div class="ttdeci">void(* string_clear)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:85</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a078f4e5d5e3aed61060331892d076746"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a078f4e5d5e3aed61060331892d076746">GRPC_JSON_STATE_VALUE_NUMBER_EPM</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:56</div></div>
<div class="ttc" id="port__platform_8h_html_aa6abd4df815a5498d1a04b5e691a74a9"><div class="ttname"><a href="port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9">gpr_uint32</a></div><div class="ttdeci">uint32_t gpr_uint32</div><div class="ttdef"><b>Definition:</b> port_platform.h:309</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a76dafae1aaab777fd9a6bbc26d10a71b"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a76dafae1aaab777fd9a6bbc26d10a71b">GRPC_JSON_STATE_STRING_ESCAPE_U1</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:47</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3afa7e20c80c15f500c002a738a5d67829"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3afa7e20c80c15f500c002a738a5d67829">GRPC_JSON_STATE_STRING_ESCAPE_U2</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:48</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a39f2535f918f767506b9665e36f97fb4"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a39f2535f918f767506b9665e36f97fb4">grpc_json_reader_vtable::set_string</a></div><div class="ttdeci">void(* set_string)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:99</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_ab66de246c1efaad68da9683f017966ff"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#ab66de246c1efaad68da9683f017966ff">grpc_json_reader_vtable::set_null</a></div><div class="ttdeci">void(* set_null)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:105</div></div>
<div class="ttc" id="structgrpc__json__reader_html_a8e874c0879d449071610b7643fc7ffe1"><div class="ttname"><a href="structgrpc__json__reader.html#a8e874c0879d449071610b7643fc7ffe1">grpc_json_reader::unicode_high_surrogate</a></div><div class="ttdeci">gpr_uint16 unicode_high_surrogate</div><div class="ttdef"><b>Definition:</b> json_reader.h:120</div></div>
<div class="ttc" id="json__reader_8h_html_ab958fafc9819a82736ac5f030feb8d24a3ec47e8c31d09cfc07b3b3459caf5ed7"><div class="ttname"><a href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a3ec47e8c31d09cfc07b3b3459caf5ed7">GRPC_JSON_DONE</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:126</div></div>
<div class="ttc" id="json__reader_8h_html_ab958fafc9819a82736ac5f030feb8d24ac3281037071f4e67aa01fb1f096bbfe8"><div class="ttname"><a href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24ac3281037071f4e67aa01fb1f096bbfe8">GRPC_JSON_INTERNAL_ERROR</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:130</div></div>
<div class="ttc" id="json__reader_8h_html_ab958fafc9819a82736ac5f030feb8d24"><div class="ttname"><a href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24">grpc_json_reader_status</a></div><div class="ttdeci">grpc_json_reader_status</div><div class="ttdef"><b>Definition:</b> json_reader.h:125</div></div>
<div class="ttc" id="json__reader_8h_html_a16af7b253440dadd46a80a4b9fddba4dab16e9d72bca58d8d43810ed53afb12c9"><div class="ttname"><a href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4dab16e9d72bca58d8d43810ed53afb12c9">GRPC_JSON_READ_CHAR_EAGAIN</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:77</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3ab5fd99deecc891aa5d550c0a4e367cc9"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ab5fd99deecc891aa5d550c0a4e367cc9">GRPC_JSON_STATE_VALUE_NUMBER_E</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:55</div></div>
<div class="ttc" id="json__reader_8h_html_ab958fafc9819a82736ac5f030feb8d24a9e89bd16fe4ee12cff307413b6f28b6c"><div class="ttname"><a href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a9e89bd16fe4ee12cff307413b6f28b6c">GRPC_JSON_PARSE_ERROR</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:129</div></div>
<div class="ttc" id="json__reader_8h_html_ab958fafc9819a82736ac5f030feb8d24af34c0d5ee249e46cca43ead968e07ebc"><div class="ttname"><a href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24af34c0d5ee249e46cca43ead968e07ebc">GRPC_JSON_READ_ERROR</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:128</div></div>
<div class="ttc" id="json__reader_8h_html_ab958fafc9819a82736ac5f030feb8d24a28dcdba3bcbd64daf22c70df4d1bd3f0"><div class="ttname"><a href="json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a28dcdba3bcbd64daf22c70df4d1bd3f0">GRPC_JSON_EAGAIN</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:127</div></div>
<div class="ttc" id="json__common_8h_html_a3e82983bba0988c52251467566a07ce2"><div class="ttname"><a href="json__common_8h.html#a3e82983bba0988c52251467566a07ce2">grpc_json_type</a></div><div class="ttdeci">grpc_json_type</div><div class="ttdef"><b>Definition:</b> json_common.h:38</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3ad30ab18e89a56d134986d7583a364a94"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad30ab18e89a56d134986d7583a364a94">GRPC_JSON_STATE_VALUE_FALSE_E</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:63</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3ae3661c71859af165b76b78ce3d76b1dd"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae3661c71859af165b76b78ce3d76b1dd">GRPC_JSON_STATE_OBJECT_KEY_BEGIN</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:41</div></div>
<div class="ttc" id="structgrpc__json__reader_html_a8643069f58019ea5ac61fd2fd1180562"><div class="ttname"><a href="structgrpc__json__reader.html#a8643069f58019ea5ac61fd2fd1180562">grpc_json_reader::unicode_char</a></div><div class="ttdeci">gpr_uint16 unicode_char</div><div class="ttdef"><b>Definition:</b> json_reader.h:120</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a4343815cd876adf206462c2d6b2928f1"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a4343815cd876adf206462c2d6b2928f1">GRPC_JSON_STATE_VALUE_NUMBER_ZERO</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:53</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3ad0097ae5d9dd0bff25b148574c7085e9"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad0097ae5d9dd0bff25b148574c7085e9">GRPC_JSON_STATE_VALUE_FALSE_S</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:62</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a168ce3979bfa152546f8d9d55b70b28f"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a168ce3979bfa152546f8d9d55b70b28f">GRPC_JSON_STATE_STRING_ESCAPE_U4</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:50</div></div>
<div class="ttc" id="structgrpc__json__reader_html_a485d8fd2e05cae9a2152bdbd34162107"><div class="ttname"><a href="structgrpc__json__reader.html#a485d8fd2e05cae9a2152bdbd34162107">grpc_json_reader::escaped_string_was_key</a></div><div class="ttdeci">int escaped_string_was_key</div><div class="ttdef"><b>Definition:</b> json_reader.h:118</div></div>
<div class="ttc" id="structgrpc__json__reader_html_a0c2f2a43dcad121aa5ae4d579178c438"><div class="ttname"><a href="structgrpc__json__reader.html#a0c2f2a43dcad121aa5ae4d579178c438">grpc_json_reader::in_array</a></div><div class="ttdeci">int in_array</div><div class="ttdef"><b>Definition:</b> json_reader.h:117</div></div>
<div class="ttc" id="port__platform_8h_html_abb7bceac4325643af77af51c7b6af371"><div class="ttname"><a href="port__platform_8h.html#abb7bceac4325643af77af51c7b6af371">gpr_uint16</a></div><div class="ttdeci">uint16_t gpr_uint16</div><div class="ttdef"><b>Definition:</b> port_platform.h:308</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a9780461c3c593717ca7d3c493c6dcfdf"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a9780461c3c593717ca7d3c493c6dcfdf">GRPC_JSON_STATE_OBJECT_KEY_STRING</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:42</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3">grpc_json_reader_state</a></div><div class="ttdeci">grpc_json_reader_state</div><div class="ttdef"><b>Definition:</b> json_reader.h:40</div></div>
<div class="ttc" id="structgrpc__json__reader_html_ac498ef0a1c3dc96126cd86f47f70afa5"><div class="ttname"><a href="structgrpc__json__reader.html#ac498ef0a1c3dc96126cd86f47f70afa5">grpc_json_reader::vtable</a></div><div class="ttdeci">grpc_json_reader_vtable * vtable</div><div class="ttdef"><b>Definition:</b> json_reader.h:114</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a8b40b7890a6e13c179270475b19406b4"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8b40b7890a6e13c179270475b19406b4">GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:52</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a98d936a3fe5cf280c1791d5b1892edc0"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a98d936a3fe5cf280c1791d5b1892edc0">GRPC_JSON_STATE_VALUE_END</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:67</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a06d56e2f12761077e8f1f99d79e1288a"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a06d56e2f12761077e8f1f99d79e1288a">GRPC_JSON_STATE_VALUE_NUMBER</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:51</div></div>
<div class="ttc" id="json__reader_8h_html_a16af7b253440dadd46a80a4b9fddba4daf9fe6e98c983a5c439783f938b3c86d9"><div class="ttname"><a href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4daf9fe6e98c983a5c439783f938b3c86d9">GRPC_JSON_READ_CHAR_EOF</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:76</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a4f5529f47edb119c9ee8a36800cf436e"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a4f5529f47edb119c9ee8a36800cf436e">grpc_json_reader_vtable::set_true</a></div><div class="ttdeci">void(* set_true)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:103</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_ab55442ecf7aed98d3b638f171faff596"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#ab55442ecf7aed98d3b638f171faff596">grpc_json_reader_vtable::set_number</a></div><div class="ttdeci">int(* set_number)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:101</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a34fed96cb6df9620bf61b3d22615365f"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a34fed96cb6df9620bf61b3d22615365f">GRPC_JSON_STATE_OBJECT_KEY_END</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:43</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a0b12f5d4a59fd680ef25c3b6f8047cc5"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a0b12f5d4a59fd680ef25c3b6f8047cc5">GRPC_JSON_STATE_VALUE_NULL_L2</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:66</div></div>
<div class="ttc" id="structgrpc__json__reader_html_ae7b4f56a6f58059642e1eaaff14350c4"><div class="ttname"><a href="structgrpc__json__reader.html#ae7b4f56a6f58059642e1eaaff14350c4">grpc_json_reader::depth</a></div><div class="ttdeci">int depth</div><div class="ttdef"><b>Definition:</b> json_reader.h:115</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3abb3c4b5760662831b92f941695deb8ab"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3abb3c4b5760662831b92f941695deb8ab">GRPC_JSON_STATE_END</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:68</div></div>
<div class="ttc" id="structgrpc__json__reader_html_a572a9af46e885528855a86fca4535245"><div class="ttname"><a href="structgrpc__json__reader.html#a572a9af46e885528855a86fca4535245">grpc_json_reader::state</a></div><div class="ttdeci">grpc_json_reader_state state</div><div class="ttdef"><b>Definition:</b> json_reader.h:121</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_ab5c62db09b25908b401cf00eb84861ca"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#ab5c62db09b25908b401cf00eb84861ca">grpc_json_reader_vtable::read_char</a></div><div class="ttdeci">gpr_uint32(* read_char)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:91</div></div>
<div class="ttc" id="json__reader_8h_html_aca35ff1405586201c145f8411ce4f611"><div class="ttname"><a href="json__reader_8h.html#aca35ff1405586201c145f8411ce4f611">grpc_json_reader_is_complete</a></div><div class="ttdeci">int grpc_json_reader_is_complete(grpc_json_reader *reader)</div><div class="ttdef"><b>Definition:</b> json_reader.c:103</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3ae314dc1624daa9ff6b0f63e4b9d03eca"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae314dc1624daa9ff6b0f63e4b9d03eca">GRPC_JSON_STATE_STRING_ESCAPE_U3</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:49</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a242f9eb6d061c65a99961437aff699d4"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a242f9eb6d061c65a99961437aff699d4">grpc_json_reader_vtable::container_begins</a></div><div class="ttdeci">void(* container_begins)(void *userdata, grpc_json_type type)</div><div class="ttdef"><b>Definition:</b> json_reader.h:93</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3add9dc89ace1a49e762b0066b67337692"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3add9dc89ace1a49e762b0066b67337692">GRPC_JSON_STATE_VALUE_NUMBER_DOT</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:54</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a8cc64baededcc064adfebf60232f7916"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8cc64baededcc064adfebf60232f7916">GRPC_JSON_STATE_VALUE_NULL_L1</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:65</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a35c7798e09ff2c349be10778d2a9003f"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a35c7798e09ff2c349be10778d2a9003f">GRPC_JSON_STATE_VALUE_STRING</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:45</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3aeab79537b4e6d7eeba5b80171da78c9c"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3aeab79537b4e6d7eeba5b80171da78c9c">GRPC_JSON_STATE_VALUE_FALSE_A</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:60</div></div>
<div class="ttc" id="json__reader_8h_html_a2e4389a352e99df3e5d9cb59a6c14929"><div class="ttname"><a href="json__reader_8h.html#a2e4389a352e99df3e5d9cb59a6c14929">grpc_json_reader</a></div><div class="ttdeci">struct grpc_json_reader grpc_json_reader</div></div>
<div class="ttc" id="structgrpc__json__reader_html"><div class="ttname"><a href="structgrpc__json__reader.html">grpc_json_reader</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:108</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a697d38cfb36a9cb41ace4170296f9cd7"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a697d38cfb36a9cb41ace4170296f9cd7">grpc_json_reader_vtable::set_key</a></div><div class="ttdeci">void(* set_key)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:97</div></div>
<div class="ttc" id="json__reader_8h_html_a16af7b253440dadd46a80a4b9fddba4da8812b963d2fe1700bdcc1a8084cf86bc"><div class="ttname"><a href="json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4da8812b963d2fe1700bdcc1a8084cf86bc">GRPC_JSON_READ_CHAR_ERROR</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:78</div></div>
<div class="ttc" id="structgrpc__json__reader__vtable_html_a49fbb01d6b590b1c2e1fa52e6eb31ce6"><div class="ttname"><a href="structgrpc__json__reader__vtable.html#a49fbb01d6b590b1c2e1fa52e6eb31ce6">grpc_json_reader_vtable::set_false</a></div><div class="ttdeci">void(* set_false)(void *userdata)</div><div class="ttdef"><b>Definition:</b> json_reader.h:104</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a51f53cf8933bec52d5cfa2e60952e27c"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a51f53cf8933bec52d5cfa2e60952e27c">GRPC_JSON_STATE_VALUE_TRUE_E</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:59</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3ad5c59beddcd25dbdf44c3ad129e77fd3"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad5c59beddcd25dbdf44c3ad129e77fd3">GRPC_JSON_STATE_STRING_ESCAPE</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:46</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a83c0a8d29cef49ab924fd3c2a1ca5e0b"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a83c0a8d29cef49ab924fd3c2a1ca5e0b">GRPC_JSON_STATE_VALUE_TRUE_R</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:57</div></div>
<div class="ttc" id="json__reader_8h_html_ab49e2221d9261d6dbeba7714f49998c3a81ccf65c544696f17a35b6596b73e11b"><div class="ttname"><a href="json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a81ccf65c544696f17a35b6596b73e11b">GRPC_JSON_STATE_VALUE_TRUE_U</a></div><div class="ttdef"><b>Definition:</b> json_reader.h:58</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:07 for GRPC Core by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>