Add the 0.10 release doxygen-generated docs to source control.

This commit is contained in:
Eric Haszlakiewicz
2012-04-28 15:54:56 -05:00
parent c75ad201dd
commit 86bf051fd2
43 changed files with 8527 additions and 0 deletions

View File

@@ -0,0 +1,449 @@
<!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"/>
<title>json-c: json_tokener.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>json_tokener.h File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structjson__tokener__srec.html">json_tokener_srec</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structjson__tokener.html">json_tokener</a></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#ac4299cf4ed799b028e61cf7b2b0d5f1f">JSON_TOKENER_MAX_DEPTH</a>&nbsp;&nbsp;&nbsp;32</td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a> { <br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59afe2fa9bde03155019b2df30f66a5fcd0">json_tokener_success</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a9b26e920ca765df91c84e999561d8fb0">json_tokener_continue</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a59b2c36d9cc30c3038e09b9ddee6c86c">json_tokener_error_depth</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a8f774f4c7869afdd9b92295fca3a9ded">json_tokener_error_parse_eof</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a3309fa8ea4ab3ee0a81c55b69d223710">json_tokener_error_parse_unexpected</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a641bbb8d881fdd1e463f20a1a203b77c">json_tokener_error_parse_null</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59addbdfe084e20709da3d20c8ae8ca278c">json_tokener_error_parse_boolean</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59ab1b3ad685eb97235d269cc5b9eb7ab81">json_tokener_error_parse_number</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a574846740b785146f164a209dc89574e">json_tokener_error_parse_array</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a2003bd8e96c6680cd22419c5ceafd4c0">json_tokener_error_parse_object_key_name</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59af91a2a819b0d6344d6d4e1d2579f28fd">json_tokener_error_parse_object_key_sep</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a9ddb98741aebf7ac44735b4a43717013">json_tokener_error_parse_object_value_sep</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a033ce89ce7b8f9e591e4bea92121c4c7">json_tokener_error_parse_string</a>,
<a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a3588c05b1da8b909a8cbdef66b0a1a28">json_tokener_error_parse_comment</a>
<br/>
}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2">json_tokener_state</a> { <br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a9db152607ec1872a000f1fcd8757297d">json_tokener_state_eatws</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a7c4c0bed1ebde45f5a99de4278792d72">json_tokener_state_start</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ad80b689cb709967b67a348de3d8601d2">json_tokener_state_finish</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a668fb2654c59608945370003403a5792">json_tokener_state_null</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a0ff1d1935d49188aa1e6b998d43e655c">json_tokener_state_comment_start</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a8c2680b8873a8dce85f0b1ac25882dc9">json_tokener_state_comment</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ad8151350b1ef50298bafbab244ac1162">json_tokener_state_comment_eol</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a62cef297a37a98b1239ea4bbd39723e1">json_tokener_state_comment_end</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2aa90ea4c327a285bfbbce49d42d491d65">json_tokener_state_string</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a1cf793d73587f68c4f2b3b4f65ff728e">json_tokener_state_string_escape</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a6c852da2e694be56799c58c201d6dca0">json_tokener_state_escape_unicode</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a3525b15ecd0a698281b3914115b6bd3e">json_tokener_state_boolean</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a7ce18d281d322af690b45f3b8b599e81">json_tokener_state_number</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ab3d763300f1914865be09d603ddc11f4">json_tokener_state_array</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2aa2a01798ebe318ea91c38a886418f771">json_tokener_state_array_add</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a4ec7762aeab3424cbb14354c94025865">json_tokener_state_array_sep</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a8c7dbda177a5d83a36a64f7cb99b9a29">json_tokener_state_object_field_start</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a77375940a10806e81d99876d13be67fc">json_tokener_state_object_field</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a0220aea1d9204aadfffde92c7f73f5f7">json_tokener_state_object_field_end</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2a4c7b7deac37355491572f6da84f208aa">json_tokener_state_object_value</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2ade6bee72f2147e634b19eb84e58eb162">json_tokener_state_object_value_add</a>,
<a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2adaf3e06c5fc04fd4f04040cd67698215">json_tokener_state_object_sep</a>
<br/>
}</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#a04c5625212aed3216cc303429e47f642">json_tokener_error_desc</a> (enum <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a> jerr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#ae8dff7f1ea11702aecf418e0da5574fe">json_tokener_get_error</a> (struct <a class="el" href="structjson__tokener.html">json_tokener</a> *tok)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__tokener.html">json_tokener</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#a55d6e8a6f6d90992c063a39e21769c52">json_tokener_new</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#af6645ff27c0ca82c6e314390814fcbeb">json_tokener_free</a> (struct <a class="el" href="structjson__tokener.html">json_tokener</a> *tok)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#ae23dd7ad4737bfc18409af6173ab2b09">json_tokener_reset</a> (struct <a class="el" href="structjson__tokener.html">json_tokener</a> *tok)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#abf031fdf1e5caab71e2225a99588c6bb">json_tokener_parse</a> (const char *str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#a1c8f5d8baad383dc8879615d2b02b53c">json_tokener_parse_verbose</a> (const char *str, enum <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a> *error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structjson__object.html">json_object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#a0d9a666c21879647e8831f9cfa691673">json_tokener_parse_ex</a> (struct <a class="el" href="structjson__tokener.html">json_tokener</a> *tok, const char *str, int len)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="json__tokener_8h.html#a6ede8ee7a4ec1fed68d10ea77294c966">json_tokener_errors</a> []</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ac4299cf4ed799b028e61cf7b2b0d5f1f"></a><!-- doxytag: member="json_tokener.h::JSON_TOKENER_MAX_DEPTH" ref="ac4299cf4ed799b028e61cf7b2b0d5f1f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define JSON_TOKENER_MAX_DEPTH&nbsp;&nbsp;&nbsp;32</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59"></a><!-- doxytag: member="json_tokener.h::json_tokener_error" ref="a0a31f0df8a532ef8be5c09ba40eacb59" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59afe2fa9bde03155019b2df30f66a5fcd0"></a><!-- doxytag: member="json_tokener_success" ref="a0a31f0df8a532ef8be5c09ba40eacb59afe2fa9bde03155019b2df30f66a5fcd0" args="" -->json_tokener_success</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a9b26e920ca765df91c84e999561d8fb0"></a><!-- doxytag: member="json_tokener_continue" ref="a0a31f0df8a532ef8be5c09ba40eacb59a9b26e920ca765df91c84e999561d8fb0" args="" -->json_tokener_continue</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a59b2c36d9cc30c3038e09b9ddee6c86c"></a><!-- doxytag: member="json_tokener_error_depth" ref="a0a31f0df8a532ef8be5c09ba40eacb59a59b2c36d9cc30c3038e09b9ddee6c86c" args="" -->json_tokener_error_depth</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a8f774f4c7869afdd9b92295fca3a9ded"></a><!-- doxytag: member="json_tokener_error_parse_eof" ref="a0a31f0df8a532ef8be5c09ba40eacb59a8f774f4c7869afdd9b92295fca3a9ded" args="" -->json_tokener_error_parse_eof</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a3309fa8ea4ab3ee0a81c55b69d223710"></a><!-- doxytag: member="json_tokener_error_parse_unexpected" ref="a0a31f0df8a532ef8be5c09ba40eacb59a3309fa8ea4ab3ee0a81c55b69d223710" args="" -->json_tokener_error_parse_unexpected</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a641bbb8d881fdd1e463f20a1a203b77c"></a><!-- doxytag: member="json_tokener_error_parse_null" ref="a0a31f0df8a532ef8be5c09ba40eacb59a641bbb8d881fdd1e463f20a1a203b77c" args="" -->json_tokener_error_parse_null</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59addbdfe084e20709da3d20c8ae8ca278c"></a><!-- doxytag: member="json_tokener_error_parse_boolean" ref="a0a31f0df8a532ef8be5c09ba40eacb59addbdfe084e20709da3d20c8ae8ca278c" args="" -->json_tokener_error_parse_boolean</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59ab1b3ad685eb97235d269cc5b9eb7ab81"></a><!-- doxytag: member="json_tokener_error_parse_number" ref="a0a31f0df8a532ef8be5c09ba40eacb59ab1b3ad685eb97235d269cc5b9eb7ab81" args="" -->json_tokener_error_parse_number</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a574846740b785146f164a209dc89574e"></a><!-- doxytag: member="json_tokener_error_parse_array" ref="a0a31f0df8a532ef8be5c09ba40eacb59a574846740b785146f164a209dc89574e" args="" -->json_tokener_error_parse_array</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a2003bd8e96c6680cd22419c5ceafd4c0"></a><!-- doxytag: member="json_tokener_error_parse_object_key_name" ref="a0a31f0df8a532ef8be5c09ba40eacb59a2003bd8e96c6680cd22419c5ceafd4c0" args="" -->json_tokener_error_parse_object_key_name</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59af91a2a819b0d6344d6d4e1d2579f28fd"></a><!-- doxytag: member="json_tokener_error_parse_object_key_sep" ref="a0a31f0df8a532ef8be5c09ba40eacb59af91a2a819b0d6344d6d4e1d2579f28fd" args="" -->json_tokener_error_parse_object_key_sep</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a9ddb98741aebf7ac44735b4a43717013"></a><!-- doxytag: member="json_tokener_error_parse_object_value_sep" ref="a0a31f0df8a532ef8be5c09ba40eacb59a9ddb98741aebf7ac44735b4a43717013" args="" -->json_tokener_error_parse_object_value_sep</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a033ce89ce7b8f9e591e4bea92121c4c7"></a><!-- doxytag: member="json_tokener_error_parse_string" ref="a0a31f0df8a532ef8be5c09ba40eacb59a033ce89ce7b8f9e591e4bea92121c4c7" args="" -->json_tokener_error_parse_string</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0a31f0df8a532ef8be5c09ba40eacb59a3588c05b1da8b909a8cbdef66b0a1a28"></a><!-- doxytag: member="json_tokener_error_parse_comment" ref="a0a31f0df8a532ef8be5c09ba40eacb59a3588c05b1da8b909a8cbdef66b0a1a28" args="" -->json_tokener_error_parse_comment</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2"></a><!-- doxytag: member="json_tokener.h::json_tokener_state" ref="af026dec71e4548e6200eb2f902f1c4e2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="json__tokener_8h.html#af026dec71e4548e6200eb2f902f1c4e2">json_tokener_state</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a9db152607ec1872a000f1fcd8757297d"></a><!-- doxytag: member="json_tokener_state_eatws" ref="af026dec71e4548e6200eb2f902f1c4e2a9db152607ec1872a000f1fcd8757297d" args="" -->json_tokener_state_eatws</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a7c4c0bed1ebde45f5a99de4278792d72"></a><!-- doxytag: member="json_tokener_state_start" ref="af026dec71e4548e6200eb2f902f1c4e2a7c4c0bed1ebde45f5a99de4278792d72" args="" -->json_tokener_state_start</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2ad80b689cb709967b67a348de3d8601d2"></a><!-- doxytag: member="json_tokener_state_finish" ref="af026dec71e4548e6200eb2f902f1c4e2ad80b689cb709967b67a348de3d8601d2" args="" -->json_tokener_state_finish</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a668fb2654c59608945370003403a5792"></a><!-- doxytag: member="json_tokener_state_null" ref="af026dec71e4548e6200eb2f902f1c4e2a668fb2654c59608945370003403a5792" args="" -->json_tokener_state_null</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a0ff1d1935d49188aa1e6b998d43e655c"></a><!-- doxytag: member="json_tokener_state_comment_start" ref="af026dec71e4548e6200eb2f902f1c4e2a0ff1d1935d49188aa1e6b998d43e655c" args="" -->json_tokener_state_comment_start</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a8c2680b8873a8dce85f0b1ac25882dc9"></a><!-- doxytag: member="json_tokener_state_comment" ref="af026dec71e4548e6200eb2f902f1c4e2a8c2680b8873a8dce85f0b1ac25882dc9" args="" -->json_tokener_state_comment</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2ad8151350b1ef50298bafbab244ac1162"></a><!-- doxytag: member="json_tokener_state_comment_eol" ref="af026dec71e4548e6200eb2f902f1c4e2ad8151350b1ef50298bafbab244ac1162" args="" -->json_tokener_state_comment_eol</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a62cef297a37a98b1239ea4bbd39723e1"></a><!-- doxytag: member="json_tokener_state_comment_end" ref="af026dec71e4548e6200eb2f902f1c4e2a62cef297a37a98b1239ea4bbd39723e1" args="" -->json_tokener_state_comment_end</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2aa90ea4c327a285bfbbce49d42d491d65"></a><!-- doxytag: member="json_tokener_state_string" ref="af026dec71e4548e6200eb2f902f1c4e2aa90ea4c327a285bfbbce49d42d491d65" args="" -->json_tokener_state_string</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a1cf793d73587f68c4f2b3b4f65ff728e"></a><!-- doxytag: member="json_tokener_state_string_escape" ref="af026dec71e4548e6200eb2f902f1c4e2a1cf793d73587f68c4f2b3b4f65ff728e" args="" -->json_tokener_state_string_escape</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a6c852da2e694be56799c58c201d6dca0"></a><!-- doxytag: member="json_tokener_state_escape_unicode" ref="af026dec71e4548e6200eb2f902f1c4e2a6c852da2e694be56799c58c201d6dca0" args="" -->json_tokener_state_escape_unicode</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a3525b15ecd0a698281b3914115b6bd3e"></a><!-- doxytag: member="json_tokener_state_boolean" ref="af026dec71e4548e6200eb2f902f1c4e2a3525b15ecd0a698281b3914115b6bd3e" args="" -->json_tokener_state_boolean</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a7ce18d281d322af690b45f3b8b599e81"></a><!-- doxytag: member="json_tokener_state_number" ref="af026dec71e4548e6200eb2f902f1c4e2a7ce18d281d322af690b45f3b8b599e81" args="" -->json_tokener_state_number</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2ab3d763300f1914865be09d603ddc11f4"></a><!-- doxytag: member="json_tokener_state_array" ref="af026dec71e4548e6200eb2f902f1c4e2ab3d763300f1914865be09d603ddc11f4" args="" -->json_tokener_state_array</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2aa2a01798ebe318ea91c38a886418f771"></a><!-- doxytag: member="json_tokener_state_array_add" ref="af026dec71e4548e6200eb2f902f1c4e2aa2a01798ebe318ea91c38a886418f771" args="" -->json_tokener_state_array_add</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a4ec7762aeab3424cbb14354c94025865"></a><!-- doxytag: member="json_tokener_state_array_sep" ref="af026dec71e4548e6200eb2f902f1c4e2a4ec7762aeab3424cbb14354c94025865" args="" -->json_tokener_state_array_sep</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a8c7dbda177a5d83a36a64f7cb99b9a29"></a><!-- doxytag: member="json_tokener_state_object_field_start" ref="af026dec71e4548e6200eb2f902f1c4e2a8c7dbda177a5d83a36a64f7cb99b9a29" args="" -->json_tokener_state_object_field_start</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a77375940a10806e81d99876d13be67fc"></a><!-- doxytag: member="json_tokener_state_object_field" ref="af026dec71e4548e6200eb2f902f1c4e2a77375940a10806e81d99876d13be67fc" args="" -->json_tokener_state_object_field</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a0220aea1d9204aadfffde92c7f73f5f7"></a><!-- doxytag: member="json_tokener_state_object_field_end" ref="af026dec71e4548e6200eb2f902f1c4e2a0220aea1d9204aadfffde92c7f73f5f7" args="" -->json_tokener_state_object_field_end</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2a4c7b7deac37355491572f6da84f208aa"></a><!-- doxytag: member="json_tokener_state_object_value" ref="af026dec71e4548e6200eb2f902f1c4e2a4c7b7deac37355491572f6da84f208aa" args="" -->json_tokener_state_object_value</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2ade6bee72f2147e634b19eb84e58eb162"></a><!-- doxytag: member="json_tokener_state_object_value_add" ref="af026dec71e4548e6200eb2f902f1c4e2ade6bee72f2147e634b19eb84e58eb162" args="" -->json_tokener_state_object_value_add</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af026dec71e4548e6200eb2f902f1c4e2adaf3e06c5fc04fd4f04040cd67698215"></a><!-- doxytag: member="json_tokener_state_object_sep" ref="af026dec71e4548e6200eb2f902f1c4e2adaf3e06c5fc04fd4f04040cd67698215" args="" -->json_tokener_state_object_sep</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a04c5625212aed3216cc303429e47f642"></a><!-- doxytag: member="json_tokener.h::json_tokener_error_desc" ref="a04c5625212aed3216cc303429e47f642" args="(enum json_tokener_error jerr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* json_tokener_error_desc </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a>&nbsp;</td>
<td class="paramname"> <em>jerr</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Given an error previously returned by <a class="el" href="json__tokener_8h.html#ae8dff7f1ea11702aecf418e0da5574fe">json_tokener_get_error()</a>, return a human readable description of the error.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a generic error message is returned if an invalid error value is provided. </dd></dl>
</div>
</div>
<a class="anchor" id="af6645ff27c0ca82c6e314390814fcbeb"></a><!-- doxytag: member="json_tokener.h::json_tokener_free" ref="af6645ff27c0ca82c6e314390814fcbeb" args="(struct json_tokener *tok)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void json_tokener_free </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structjson__tokener.html">json_tokener</a> *&nbsp;</td>
<td class="paramname"> <em>tok</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae8dff7f1ea11702aecf418e0da5574fe"></a><!-- doxytag: member="json_tokener.h::json_tokener_get_error" ref="ae8dff7f1ea11702aecf418e0da5574fe" args="(struct json_tokener *tok)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a> json_tokener_get_error </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structjson__tokener.html">json_tokener</a> *&nbsp;</td>
<td class="paramname"> <em>tok</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Retrieve the error caused by the last call to <a class="el" href="json__tokener_8h.html#a0d9a666c21879647e8831f9cfa691673">json_tokener_parse_ex()</a>, or json_tokener_success if there is no error.</p>
<p>When parsing a JSON string in pieces, if the tokener is in the middle of parsing this will return json_tokener_continue.</p>
<p>See also <a class="el" href="json__tokener_8h.html#a04c5625212aed3216cc303429e47f642">json_tokener_error_desc()</a>. </p>
</div>
</div>
<a class="anchor" id="a55d6e8a6f6d90992c063a39e21769c52"></a><!-- doxytag: member="json_tokener.h::json_tokener_new" ref="a55d6e8a6f6d90992c063a39e21769c52" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structjson__tokener.html">json_tokener</a>* json_tokener_new </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="abf031fdf1e5caab71e2225a99588c6bb"></a><!-- doxytag: member="json_tokener.h::json_tokener_parse" ref="abf031fdf1e5caab71e2225a99588c6bb" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_tokener_parse </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>str</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a0d9a666c21879647e8831f9cfa691673"></a><!-- doxytag: member="json_tokener.h::json_tokener_parse_ex" ref="a0d9a666c21879647e8831f9cfa691673" args="(struct json_tokener *tok, const char *str, int len)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_tokener_parse_ex </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structjson__tokener.html">json_tokener</a> *&nbsp;</td>
<td class="paramname"> <em>tok</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>len</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Parse a string and return a non-NULL <a class="el" href="structjson__object.html">json_object</a> if a valid JSON value is found. The string does not need to be a JSON object or array; it can also be a string, number or boolean value.</p>
<p>A partial JSON string can be parsed. If the parsing is incomplete, NULL will be returned and <a class="el" href="json__tokener_8h.html#ae8dff7f1ea11702aecf418e0da5574fe">json_tokener_get_error()</a> will be return json_tokener_continue. <a class="el" href="json__tokener_8h.html#a0d9a666c21879647e8831f9cfa691673">json_tokener_parse_ex()</a> can then be called with additional bytes in str to continue the parsing.</p>
<p>If <a class="el" href="json__tokener_8h.html#a0d9a666c21879647e8831f9cfa691673">json_tokener_parse_ex()</a> returns NULL and the error anything other than json_tokener_continue, a fatal error has occurred and parsing must be halted. Then tok object must not be re-used until <a class="el" href="json__tokener_8h.html#ae23dd7ad4737bfc18409af6173ab2b09">json_tokener_reset()</a> is called.</p>
<p>When a valid JSON value is parsed, a non-NULL <a class="el" href="structjson__object.html">json_object</a> will be returned. Also, <a class="el" href="json__tokener_8h.html#ae8dff7f1ea11702aecf418e0da5574fe">json_tokener_get_error()</a> will return json_tokener_success. Be sure to check the type with <a class="el" href="json__object_8h.html#ab6dc8b19f8da310e78f402f83d6ae6c5">json_object_is_type()</a> or <a class="el" href="json__object_8h.html#adc5e998b4897b6e450bd0975a58d2f72">json_object_get_type()</a> before using the object.</p>
<p><b>XXX</b> this shouldn't use internal fields: Trailing characters after the parsed value do not automatically cause an error. It is up to the caller to decide whether to treat this as an error or to handle the additional characters, perhaps by parsing another json value starting from that point.</p>
<p>Extra characters can be detected by comparing the tok-&gt;char_offset against the length of the last len parameter passed in.</p>
<p>The tokener does <b>not</b> maintain an internal buffer so the caller is responsible for calling json_tokener_parse_ex with an appropriate str parameter starting with the extra characters.</p>
<p>Example: </p>
<div class="fragment"><pre class="fragment"><a class="code" href="structjson__object.html">json_object</a> *jobj = NULL;
<span class="keyword">const</span> <span class="keywordtype">char</span> *mystring = NULL;
<span class="keywordtype">int</span> stringlen = 0;
<span class="keyword">enum</span> <a class="code" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a> jerr;
<span class="keywordflow">do</span> {
mystring = ... <span class="comment">// get JSON string, e.g. read from file, etc...</span>
stringlen = strlen(mystring);
jobj = <a class="code" href="json__tokener_8h.html#a0d9a666c21879647e8831f9cfa691673">json_tokener_parse_ex</a>(tok, mystring, stringlen);
} <span class="keywordflow">while</span> ((jerr = <a class="code" href="json__tokener_8h.html#ae8dff7f1ea11702aecf418e0da5574fe">json_tokener_get_error</a>(tok)) == <a class="code" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59a9b26e920ca765df91c84e999561d8fb0">json_tokener_continue</a>);
<span class="keywordflow">if</span> (jerr != <a class="code" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59afe2fa9bde03155019b2df30f66a5fcd0">json_tokener_success</a>)
{
fprintf(stderr, <span class="stringliteral">&quot;Error: %s\n&quot;</span>, <a class="code" href="json__tokener_8h.html#a04c5625212aed3216cc303429e47f642">json_tokener_error_desc</a>(jerr));
<span class="comment">// Handle errors, as appropriate for your application.</span>
}
<span class="keywordflow">if</span> (tok-&gt;char_offset &lt; stringlen) <span class="comment">// XXX shouldn&#39;t access internal fields</span>
{
<span class="comment">// Handle extra characters after parsed object as desired.</span>
<span class="comment">// e.g. issue an error, parse another object from that point, etc...</span>
}
<span class="comment">// Success, use jobj here.</span>
</pre></div><dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>tok</em>&nbsp;</td><td>a <a class="el" href="structjson__tokener.html">json_tokener</a> previously allocated with <a class="el" href="json__tokener_8h.html#a55d6e8a6f6d90992c063a39e21769c52">json_tokener_new()</a> </td></tr>
<tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>an string with any valid JSON expression, or portion of. This does not need to be null terminated. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the length of str </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1c8f5d8baad383dc8879615d2b02b53c"></a><!-- doxytag: member="json_tokener.h::json_tokener_parse_verbose" ref="a1c8f5d8baad383dc8879615d2b02b53c" args="(const char *str, enum json_tokener_error *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structjson__object.html">json_object</a>* json_tokener_parse_verbose </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">enum <a class="el" href="json__tokener_8h.html#a0a31f0df8a532ef8be5c09ba40eacb59">json_tokener_error</a> *&nbsp;</td>
<td class="paramname"> <em>error</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae23dd7ad4737bfc18409af6173ab2b09"></a><!-- doxytag: member="json_tokener.h::json_tokener_reset" ref="ae23dd7ad4737bfc18409af6173ab2b09" args="(struct json_tokener *tok)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void json_tokener_reset </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structjson__tokener.html">json_tokener</a> *&nbsp;</td>
<td class="paramname"> <em>tok</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a6ede8ee7a4ec1fed68d10ea77294c966"></a><!-- doxytag: member="json_tokener.h::json_tokener_errors" ref="a6ede8ee7a4ec1fed68d10ea77294c966" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="json__tokener_8h.html#a6ede8ee7a4ec1fed68d10ea77294c966">json_tokener_errors</a>[]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p><b>XXX</b> do not use json_tokener_errors directly. After v0.10 this will be removed.</p>
<p>See <a class="el" href="json__tokener_8h.html#a04c5625212aed3216cc303429e47f642">json_tokener_error_desc()</a> instead. </p>
</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 28 15:52:47 2012 for json-c by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>