summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLloyd Hilaiel <lloyd@hilaiel.com>2011-04-25 13:06:12 -0600
committerLloyd Hilaiel <lloyd@hilaiel.com>2011-04-25 13:06:12 -0600
commit7c6e982fcbdba6ac306c00beeb96726e12abad96 (patch)
tree0fa4417ef3564f79f5708e37d3aa750faa06cb1c
parent635fb644ff6a6b44a0b9490bfb69e789c72381ba (diff)
downloadyajl-7c6e982fcbdba6ac306c00beeb96726e12abad96.tar.gz
2.0.0 docs
-rw-r--r--yajl-2.0.0/annotated.html53
-rw-r--r--yajl-2.0.0/bc_s.pngbin0 -> 677 bytes
-rw-r--r--yajl-2.0.0/classes.html52
-rw-r--r--yajl-2.0.0/closed.pngbin0 -> 126 bytes
-rw-r--r--yajl-2.0.0/doxygen.css835
-rw-r--r--yajl-2.0.0/doxygen.pngbin0 -> 3942 bytes
-rw-r--r--yajl-2.0.0/example_2parse_config_8c-example.html112
-rw-r--r--yajl-2.0.0/examples.html48
-rw-r--r--yajl-2.0.0/files.html55
-rw-r--r--yajl-2.0.0/functions.html136
-rw-r--r--yajl-2.0.0/functions_vars.html136
-rw-r--r--yajl-2.0.0/globals.html321
-rw-r--r--yajl-2.0.0/globals_defs.html113
-rw-r--r--yajl-2.0.0/globals_enum.html71
-rw-r--r--yajl-2.0.0/globals_eval.html140
-rw-r--r--yajl-2.0.0/globals_func.html137
-rw-r--r--yajl-2.0.0/globals_type.html77
-rw-r--r--yajl-2.0.0/index.html59
-rw-r--r--yajl-2.0.0/jquery.js54
-rw-r--r--yajl-2.0.0/nav_f.pngbin0 -> 159 bytes
-rw-r--r--yajl-2.0.0/nav_h.pngbin0 -> 97 bytes
-rw-r--r--yajl-2.0.0/open.pngbin0 -> 118 bytes
-rw-r--r--yajl-2.0.0/reformatter_2json_reformat_8c-example.html233
-rw-r--r--yajl-2.0.0/structyajl__alloc__funcs.html122
-rw-r--r--yajl-2.0.0/structyajl__callbacks.html224
-rw-r--r--yajl-2.0.0/structyajl__val__s.html255
-rw-r--r--yajl-2.0.0/tab_a.pngbin0 -> 140 bytes
-rw-r--r--yajl-2.0.0/tab_b.pngbin0 -> 178 bytes
-rw-r--r--yajl-2.0.0/tab_h.pngbin0 -> 192 bytes
-rw-r--r--yajl-2.0.0/tab_s.pngbin0 -> 189 bytes
-rw-r--r--yajl-2.0.0/tabs.css59
-rw-r--r--yajl-2.0.0/yajl.html50
-rw-r--r--yajl-2.0.0/yajl__common_8h.html139
-rw-r--r--yajl-2.0.0/yajl__common_8h_source.html111
-rw-r--r--yajl-2.0.0/yajl__gen_8h.html581
-rw-r--r--yajl-2.0.0/yajl__gen_8h_source.html131
-rw-r--r--yajl-2.0.0/yajl__parse_8h.html448
-rw-r--r--yajl-2.0.0/yajl__parse_8h_source.html141
-rw-r--r--yajl-2.0.0/yajl__tree_8h.html633
-rw-r--r--yajl-2.0.0/yajl__tree_8h_source.html140
40 files changed, 5666 insertions, 0 deletions
diff --git a/yajl-2.0.0/annotated.html b/yajl-2.0.0/annotated.html
new file mode 100644
index 0000000..6398f73
--- /dev/null
+++ b/yajl-2.0.0/annotated.html
@@ -0,0 +1,53 @@
+<!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>YAJL: Data Structures</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">Data Structures</div> </div>
+</div>
+<div class="contents">
+<div class="textblock">Here are the data structures with brief descriptions:</div><table>
+ <tr><td class="indexkey"><a class="el" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structyajl__callbacks.html">yajl_callbacks</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structyajl__val__s.html">yajl_val_s</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/bc_s.png b/yajl-2.0.0/bc_s.png
new file mode 100644
index 0000000..e401862
--- /dev/null
+++ b/yajl-2.0.0/bc_s.png
Binary files differ
diff --git a/yajl-2.0.0/classes.html b/yajl-2.0.0/classes.html
new file mode 100644
index 0000000..22e23eb
--- /dev/null
+++ b/yajl-2.0.0/classes.html
@@ -0,0 +1,52 @@
+<!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>YAJL: Data Structure Index</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">Data Structure Index</div> </div>
+</div>
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_Y">Y</a></div>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_Y"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;Y&#160;&#160;</div></td></tr></table>
+</td><td><a class="el" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a>&#160;&#160;&#160;</td><td><a class="el" href="structyajl__callbacks.html">yajl_callbacks</a>&#160;&#160;&#160;</td><td><a class="el" href="structyajl__val__s.html">yajl_val_s</a>&#160;&#160;&#160;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_Y">Y</a></div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/closed.png b/yajl-2.0.0/closed.png
new file mode 100644
index 0000000..b7d4bd9
--- /dev/null
+++ b/yajl-2.0.0/closed.png
Binary files differ
diff --git a/yajl-2.0.0/doxygen.css b/yajl-2.0.0/doxygen.css
new file mode 100644
index 0000000..74445fe
--- /dev/null
+++ b/yajl-2.0.0/doxygen.css
@@ -0,0 +1,835 @@
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+ font-size: 150%;
+}
+
+.title {
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+h3 {
+ font-size: 100%;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+ color: #4665A2;
+}
+
+a.codeRef {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #C4CFE5;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+}
+
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memproto {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 8px;
+ border-top-left-radius: 8px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 8px;
+ -moz-border-radius-topleft: 8px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 8px;
+ -webkit-border-top-left-radius: 8px;
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+
+}
+
+.memdoc {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 2px 5px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ /* opera specific markup */
+ border-bottom-left-radius: 8px;
+ border-bottom-right-radius: 8px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+.params, .retval, .exception, .tparams {
+ border-spacing: 6px 2px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+
+
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+ font-family: sans-serif;
+ margin: 0px;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+ margin: 5px;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+}
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ padding-left: 5px;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
+{
+ border-left:4px solid;
+ padding: 0 0 0 6px;
+}
+
+dl.note
+{
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ border-color: #505050;
+}
+
+dl.todo
+{
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ border-color: #C08050;
+}
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
diff --git a/yajl-2.0.0/doxygen.png b/yajl-2.0.0/doxygen.png
new file mode 100644
index 0000000..635ed52
--- /dev/null
+++ b/yajl-2.0.0/doxygen.png
Binary files differ
diff --git a/yajl-2.0.0/example_2parse_config_8c-example.html b/yajl-2.0.0/example_2parse_config_8c-example.html
new file mode 100644
index 0000000..cfbfc87
--- /dev/null
+++ b/yajl-2.0.0/example_2parse_config_8c-example.html
@@ -0,0 +1,112 @@
+<!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>YAJL: example/parse_config.c</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">example/parse_config.c</div> </div>
+</div>
+<div class="contents">
+<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 2011, Lloyd Hilaiel &lt;lloyd@hilaiel.com&gt;</span>
+<span class="comment"> *</span>
+<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any</span>
+<span class="comment"> * purpose with or without fee is hereby granted, provided that the above</span>
+<span class="comment"> * copyright notice and this permission notice appear in all copies.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span>
+<span class="comment"> * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span>
+<span class="comment"> * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span>
+<span class="comment"> * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span>
+<span class="comment"> * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span>
+<span class="comment"> * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span>
+<span class="comment"> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span>
+<span class="comment"> */</span>
+
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<span class="preprocessor">#include &lt;string.h&gt;</span>
+
+<span class="preprocessor">#include &quot;yajl/yajl_tree.h&quot;</span>
+
+<span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> fileData[65536];
+
+<span class="keywordtype">int</span>
+main(<span class="keywordtype">void</span>)
+{
+ <span class="keywordtype">size_t</span> rd;
+ <a name="_a0"></a><a class="code" href="structyajl__val__s.html">yajl_val</a> node;
+ <span class="keywordtype">char</span> errbuf[1024];
+
+ <span class="comment">/* null plug buffers */</span>
+ fileData[0] = errbuf[0] = 0;
+
+ <span class="comment">/* read the entire config file */</span>
+ rd = fread((<span class="keywordtype">void</span> *) fileData, 1, <span class="keyword">sizeof</span>(fileData) - 1, stdin);
+
+ <span class="comment">/* file read error handling */</span>
+ <span class="keywordflow">if</span> (rd == 0 &amp;&amp; !feof(stdin)) {
+ fprintf(stderr, <span class="stringliteral">&quot;error encountered on file read\n&quot;</span>);
+ <span class="keywordflow">return</span> 1;
+ } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rd &gt;= <span class="keyword">sizeof</span>(fileData) - 1) {
+ fprintf(stderr, <span class="stringliteral">&quot;config file too big\n&quot;</span>);
+ <span class="keywordflow">return</span> 1;
+ }
+
+ <span class="comment">/* we have the whole config file in memory. let&#39;s parse it ... */</span>
+ node = <a name="a1"></a><a class="code" href="yajl__tree_8h.html#a6a04342e825859a3e9d52df93e9d112a">yajl_tree_parse</a>((<span class="keyword">const</span> <span class="keywordtype">char</span> *) fileData, errbuf, <span class="keyword">sizeof</span>(errbuf));
+
+ <span class="comment">/* parse error handling */</span>
+ <span class="keywordflow">if</span> (node == NULL) {
+ fprintf(stderr, <span class="stringliteral">&quot;parse_error: &quot;</span>);
+ <span class="keywordflow">if</span> (strlen(errbuf)) fprintf(stderr, <span class="stringliteral">&quot; %s&quot;</span>, errbuf);
+ <span class="keywordflow">else</span> fprintf(stderr, <span class="stringliteral">&quot;unknown error&quot;</span>);
+ fprintf(stderr, <span class="stringliteral">&quot;\n&quot;</span>);
+ <span class="keywordflow">return</span> 1;
+ }
+
+ <span class="comment">/* ... and extract a nested value from the config file */</span>
+ {
+ <span class="keyword">const</span> <span class="keywordtype">char</span> * path[] = { <span class="stringliteral">&quot;Logging&quot;</span>, <span class="stringliteral">&quot;timeFormat&quot;</span>, (<span class="keyword">const</span> <span class="keywordtype">char</span> *) 0 };
+ <a class="code" href="structyajl__val__s.html">yajl_val</a> v = <a name="a2"></a><a class="code" href="yajl__tree_8h.html#a534c427581fac81ee828c28367dbe90d">yajl_tree_get</a>(node, path, <a name="a3"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65">yajl_t_string</a>);
+ <span class="keywordflow">if</span> (v) printf(<span class="stringliteral">&quot;%s/%s: %s\n&quot;</span>, path[0], path[1], <a name="a4"></a><a class="code" href="yajl__tree_8h.html#a2fe1773db524ee1efdad7eb97ce12c18">YAJL_GET_STRING</a>(v));
+ <span class="keywordflow">else</span> printf(<span class="stringliteral">&quot;no such node: %s/%s\n&quot;</span>, path[0], path[1]);
+ }
+
+ <a name="a5"></a><a class="code" href="yajl__tree_8h.html#a83b59f411e80404aad35ae7071c4ecf8">yajl_tree_free</a>(node);
+
+ <span class="keywordflow">return</span> 0;
+}
+</pre></div> </div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/examples.html b/yajl-2.0.0/examples.html
new file mode 100644
index 0000000..92596cd
--- /dev/null
+++ b/yajl-2.0.0/examples.html
@@ -0,0 +1,48 @@
+<!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>YAJL: Examples</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="files.html"><span>Files</span></a></li>
+ <li class="current"><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">Examples</div> </div>
+</div>
+<div class="contents">
+<div class="textblock">Here is a list of all examples:</div><ul>
+<li><a class="el" href="example_2parse_config_8c-example.html">example/parse_config.c</a></li>
+
+<li><a class="el" href="reformatter_2json_reformat_8c-example.html">reformatter/json_reformat.c</a></li>
+
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/files.html b/yajl-2.0.0/files.html
new file mode 100644
index 0000000..0989b57
--- /dev/null
+++ b/yajl-2.0.0/files.html
@@ -0,0 +1,55 @@
+<!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>YAJL: File List</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">File List</div> </div>
+</div>
+<div class="contents">
+<div class="textblock">Here is a list of all files with brief descriptions:</div><table>
+ <tr><td class="indexkey"><a class="el" href="yajl.html">yajl</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="yajl__common_8h.html">yajl_common.h</a> <a href="yajl__common_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="yajl__gen_8h.html">yajl_gen.h</a> <a href="yajl__gen_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="yajl__parse_8h.html">yajl_parse.h</a> <a href="yajl__parse_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="yajl__tree_8h.html">yajl_tree.h</a> <a href="yajl__tree_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/functions.html b/yajl-2.0.0/functions.html
new file mode 100644
index 0000000..1309047
--- /dev/null
+++ b/yajl-2.0.0/functions.html
@@ -0,0 +1,136 @@
+<!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>YAJL: Data Fields</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div><ul>
+<li>array
+: <a class="el" href="structyajl__val__s.html#ae708d0b32d69717e29f84054b319478a">yajl_val_s</a>
+</li>
+<li>ctx
+: <a class="el" href="structyajl__alloc__funcs.html#afa64c0d73d185a6fdabd648e9746f6b5">yajl_alloc_funcs</a>
+</li>
+<li>d
+: <a class="el" href="structyajl__val__s.html#ac3fce696fa80f53d835d926e789dafe6">yajl_val_s</a>
+</li>
+<li>flags
+: <a class="el" href="structyajl__val__s.html#a1f066a7d58a2dc4dbff1d74e6db159b5">yajl_val_s</a>
+</li>
+<li>free
+: <a class="el" href="structyajl__alloc__funcs.html#a0c29b65b64754fdadbbbe9ea04701a2f">yajl_alloc_funcs</a>
+</li>
+<li>i
+: <a class="el" href="structyajl__val__s.html#a4be16e75b0cc50da2095f0173c131edb">yajl_val_s</a>
+</li>
+<li>keys
+: <a class="el" href="structyajl__val__s.html#ac2b0cacd580b0bfb3382e76d886a4a41">yajl_val_s</a>
+</li>
+<li>len
+: <a class="el" href="structyajl__val__s.html#a11cc5c05f3753cd1a21e42c3e9cadb3a">yajl_val_s</a>
+</li>
+<li>malloc
+: <a class="el" href="structyajl__alloc__funcs.html#a4e32ade73f896e6446f8cb0ad0ee7456">yajl_alloc_funcs</a>
+</li>
+<li>number
+: <a class="el" href="structyajl__val__s.html#af077c25001c10628b08e0ed5aad8eba3">yajl_val_s</a>
+</li>
+<li>object
+: <a class="el" href="structyajl__val__s.html#a6506c62d205d0fce17b29396b5ed375d">yajl_val_s</a>
+</li>
+<li>r
+: <a class="el" href="structyajl__val__s.html#ad0ede299cce3bb4ff9f4555cfa29c6e9">yajl_val_s</a>
+</li>
+<li>realloc
+: <a class="el" href="structyajl__alloc__funcs.html#ae677d7c736fe2d735f83f3dd17cfacb7">yajl_alloc_funcs</a>
+</li>
+<li>string
+: <a class="el" href="structyajl__val__s.html#aac83572f6b853d5c7a795b55c0aae58a">yajl_val_s</a>
+</li>
+<li>type
+: <a class="el" href="structyajl__val__s.html#a5286ed2abc22873bc8c077097f7ea150">yajl_val_s</a>
+</li>
+<li>u
+: <a class="el" href="structyajl__val__s.html#a3ee44fca707c2b934083b5b77daf196a">yajl_val_s</a>
+</li>
+<li>values
+: <a class="el" href="structyajl__val__s.html#afd8c6ba1bdde6363a0ac365f11e072ec">yajl_val_s</a>
+</li>
+<li>yajl_boolean
+: <a class="el" href="structyajl__callbacks.html#a9e4e6a69c6e88dbb1db692cc51fdcb85">yajl_callbacks</a>
+</li>
+<li>yajl_double
+: <a class="el" href="structyajl__callbacks.html#a6e4b6fc64ddb2707950eb811304d1c46">yajl_callbacks</a>
+</li>
+<li>yajl_end_array
+: <a class="el" href="structyajl__callbacks.html#a4671213ae60fed9bc885c38829362b0c">yajl_callbacks</a>
+</li>
+<li>yajl_end_map
+: <a class="el" href="structyajl__callbacks.html#aff8abd4229027390adf59afcbb4e0f42">yajl_callbacks</a>
+</li>
+<li>yajl_integer
+: <a class="el" href="structyajl__callbacks.html#a15a9e0bf944513d1030c316900fa85b4">yajl_callbacks</a>
+</li>
+<li>yajl_map_key
+: <a class="el" href="structyajl__callbacks.html#a774f662e58584dfd0521a6213a118897">yajl_callbacks</a>
+</li>
+<li>yajl_null
+: <a class="el" href="structyajl__callbacks.html#a119925fa35d01fd556faa502397a6eb8">yajl_callbacks</a>
+</li>
+<li>yajl_number
+: <a class="el" href="structyajl__callbacks.html#aa7164c98b00d472a6162c3f8974f0beb">yajl_callbacks</a>
+</li>
+<li>yajl_start_array
+: <a class="el" href="structyajl__callbacks.html#aaf4cf875e2a6e1ab1a8af94d16f60083">yajl_callbacks</a>
+</li>
+<li>yajl_start_map
+: <a class="el" href="structyajl__callbacks.html#a9da6fafbc2069780a02710778e61462e">yajl_callbacks</a>
+</li>
+<li>yajl_string
+: <a class="el" href="structyajl__callbacks.html#a53ee00516d0e5365bfb5746bdb699f14">yajl_callbacks</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/functions_vars.html b/yajl-2.0.0/functions_vars.html
new file mode 100644
index 0000000..9a8ab96
--- /dev/null
+++ b/yajl-2.0.0/functions_vars.html
@@ -0,0 +1,136 @@
+<!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>YAJL: Data Fields - Variables</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&#160;<ul>
+<li>array
+: <a class="el" href="structyajl__val__s.html#ae708d0b32d69717e29f84054b319478a">yajl_val_s</a>
+</li>
+<li>ctx
+: <a class="el" href="structyajl__alloc__funcs.html#afa64c0d73d185a6fdabd648e9746f6b5">yajl_alloc_funcs</a>
+</li>
+<li>d
+: <a class="el" href="structyajl__val__s.html#ac3fce696fa80f53d835d926e789dafe6">yajl_val_s</a>
+</li>
+<li>flags
+: <a class="el" href="structyajl__val__s.html#a1f066a7d58a2dc4dbff1d74e6db159b5">yajl_val_s</a>
+</li>
+<li>free
+: <a class="el" href="structyajl__alloc__funcs.html#a0c29b65b64754fdadbbbe9ea04701a2f">yajl_alloc_funcs</a>
+</li>
+<li>i
+: <a class="el" href="structyajl__val__s.html#a4be16e75b0cc50da2095f0173c131edb">yajl_val_s</a>
+</li>
+<li>keys
+: <a class="el" href="structyajl__val__s.html#ac2b0cacd580b0bfb3382e76d886a4a41">yajl_val_s</a>
+</li>
+<li>len
+: <a class="el" href="structyajl__val__s.html#a11cc5c05f3753cd1a21e42c3e9cadb3a">yajl_val_s</a>
+</li>
+<li>malloc
+: <a class="el" href="structyajl__alloc__funcs.html#a4e32ade73f896e6446f8cb0ad0ee7456">yajl_alloc_funcs</a>
+</li>
+<li>number
+: <a class="el" href="structyajl__val__s.html#af077c25001c10628b08e0ed5aad8eba3">yajl_val_s</a>
+</li>
+<li>object
+: <a class="el" href="structyajl__val__s.html#a6506c62d205d0fce17b29396b5ed375d">yajl_val_s</a>
+</li>
+<li>r
+: <a class="el" href="structyajl__val__s.html#ad0ede299cce3bb4ff9f4555cfa29c6e9">yajl_val_s</a>
+</li>
+<li>realloc
+: <a class="el" href="structyajl__alloc__funcs.html#ae677d7c736fe2d735f83f3dd17cfacb7">yajl_alloc_funcs</a>
+</li>
+<li>string
+: <a class="el" href="structyajl__val__s.html#aac83572f6b853d5c7a795b55c0aae58a">yajl_val_s</a>
+</li>
+<li>type
+: <a class="el" href="structyajl__val__s.html#a5286ed2abc22873bc8c077097f7ea150">yajl_val_s</a>
+</li>
+<li>u
+: <a class="el" href="structyajl__val__s.html#a3ee44fca707c2b934083b5b77daf196a">yajl_val_s</a>
+</li>
+<li>values
+: <a class="el" href="structyajl__val__s.html#afd8c6ba1bdde6363a0ac365f11e072ec">yajl_val_s</a>
+</li>
+<li>yajl_boolean
+: <a class="el" href="structyajl__callbacks.html#a9e4e6a69c6e88dbb1db692cc51fdcb85">yajl_callbacks</a>
+</li>
+<li>yajl_double
+: <a class="el" href="structyajl__callbacks.html#a6e4b6fc64ddb2707950eb811304d1c46">yajl_callbacks</a>
+</li>
+<li>yajl_end_array
+: <a class="el" href="structyajl__callbacks.html#a4671213ae60fed9bc885c38829362b0c">yajl_callbacks</a>
+</li>
+<li>yajl_end_map
+: <a class="el" href="structyajl__callbacks.html#aff8abd4229027390adf59afcbb4e0f42">yajl_callbacks</a>
+</li>
+<li>yajl_integer
+: <a class="el" href="structyajl__callbacks.html#a15a9e0bf944513d1030c316900fa85b4">yajl_callbacks</a>
+</li>
+<li>yajl_map_key
+: <a class="el" href="structyajl__callbacks.html#a774f662e58584dfd0521a6213a118897">yajl_callbacks</a>
+</li>
+<li>yajl_null
+: <a class="el" href="structyajl__callbacks.html#a119925fa35d01fd556faa502397a6eb8">yajl_callbacks</a>
+</li>
+<li>yajl_number
+: <a class="el" href="structyajl__callbacks.html#aa7164c98b00d472a6162c3f8974f0beb">yajl_callbacks</a>
+</li>
+<li>yajl_start_array
+: <a class="el" href="structyajl__callbacks.html#aaf4cf875e2a6e1ab1a8af94d16f60083">yajl_callbacks</a>
+</li>
+<li>yajl_start_map
+: <a class="el" href="structyajl__callbacks.html#a9da6fafbc2069780a02710778e61462e">yajl_callbacks</a>
+</li>
+<li>yajl_string
+: <a class="el" href="structyajl__callbacks.html#a53ee00516d0e5365bfb5746bdb699f14">yajl_callbacks</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/globals.html b/yajl-2.0.0/globals.html
new file mode 100644
index 0000000..1b1adf1
--- /dev/null
+++ b/yajl-2.0.0/globals.html
@@ -0,0 +1,321 @@
+<!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>YAJL: Globals</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="#index_y"><span>y</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
+
+<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
+<li>yajl_alloc()
+: <a class="el" href="yajl__parse_8h.html#ad91a06c5b72c4952be5ddf2ce4981113">yajl_parse.h</a>
+</li>
+<li>yajl_allow_comments
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6661c8af3b5eb5c3223ed714722bc804">yajl_parse.h</a>
+</li>
+<li>yajl_allow_multiple_values
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a3bad28aa7785a922541706c4ec5f38aa">yajl_parse.h</a>
+</li>
+<li>yajl_allow_partial_values
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6db18fdc747f3f3b481e85fdf1c9bdd5">yajl_parse.h</a>
+</li>
+<li>yajl_allow_trailing_garbage
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a505804d7beeebe98f70cdae3dcd738e3">yajl_parse.h</a>
+</li>
+<li>YAJL_API
+: <a class="el" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">yajl_common.h</a>
+</li>
+<li>yajl_complete_parse()
+: <a class="el" href="yajl__parse_8h.html#ae685c439cf5c6cac2116245827e63cdc">yajl_parse.h</a>
+</li>
+<li>yajl_config()
+: <a class="el" href="yajl__parse_8h.html#aec816c5518264d2ac41c05469a0f986c">yajl_parse.h</a>
+</li>
+<li>yajl_dont_validate_strings
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a205d6d8c11b8f1df450a11a48444b16f">yajl_parse.h</a>
+</li>
+<li>yajl_free()
+: <a class="el" href="yajl__parse_8h.html#a9fc930b29358ec1e04bda35d8b73422e">yajl_parse.h</a>
+</li>
+<li>yajl_free_error()
+: <a class="el" href="yajl__parse_8h.html#a12b6514e18f78fab0825b71465d511ea">yajl_parse.h</a>
+</li>
+<li>yajl_free_func
+: <a class="el" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">yajl_common.h</a>
+</li>
+<li>yajl_gen
+: <a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen.h</a>
+</li>
+<li>yajl_gen_alloc()
+: <a class="el" href="yajl__gen_8h.html#a450ab80f9a562d2bd08fb103ba1b2c16">yajl_gen.h</a>
+</li>
+<li>yajl_gen_array_close()
+: <a class="el" href="yajl__gen_8h.html#ae3ba7ebfbea5a27f30f4c6c62ddc493b">yajl_gen.h</a>
+</li>
+<li>yajl_gen_array_open()
+: <a class="el" href="yajl__gen_8h.html#a68f7bc4fbfe8015f590bc284d386bf44">yajl_gen.h</a>
+</li>
+<li>yajl_gen_beautify
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16">yajl_gen.h</a>
+</li>
+<li>yajl_gen_bool()
+: <a class="el" href="yajl__gen_8h.html#a9b761fd105b212682de291ca70836f93">yajl_gen.h</a>
+</li>
+<li>yajl_gen_clear()
+: <a class="el" href="yajl__gen_8h.html#a50116818ab3c0f3116e3baff0db2f4ef">yajl_gen.h</a>
+</li>
+<li>yajl_gen_config()
+: <a class="el" href="yajl__gen_8h.html#a1768fa9f58313c895d226419d8c59562">yajl_gen.h</a>
+</li>
+<li>yajl_gen_double()
+: <a class="el" href="yajl__gen_8h.html#ab588fa96fd582c3f592923fc0172f17c">yajl_gen.h</a>
+</li>
+<li>yajl_gen_free()
+: <a class="el" href="yajl__gen_8h.html#a9579c99fb77fb6f607db47de662adc9c">yajl_gen.h</a>
+</li>
+<li>yajl_gen_generation_complete
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa8274e47b1f4dd68841a67e56868f7bb4">yajl_gen.h</a>
+</li>
+<li>yajl_gen_get_buf()
+: <a class="el" href="yajl__gen_8h.html#a62fdd1175a55da0c33b366a8aab925b0">yajl_gen.h</a>
+</li>
+<li>yajl_gen_in_error_state
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa9ea74847e6d0e91bc7ee544e9851dc18">yajl_gen.h</a>
+</li>
+<li>yajl_gen_indent_string
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a005636a2e073b474bfad337edf5890d4">yajl_gen.h</a>
+</li>
+<li>yajl_gen_integer()
+: <a class="el" href="yajl__gen_8h.html#a48064106605182f7591d62dea66c6008">yajl_gen.h</a>
+</li>
+<li>yajl_gen_invalid_number
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa870e2d12c18f71a51697ddc4050a1262">yajl_gen.h</a>
+</li>
+<li>yajl_gen_invalid_string
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa89e7434eadb637a4fd2ead0eea52ffa5">yajl_gen.h</a>
+</li>
+<li>yajl_gen_keys_must_be_strings
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caacc1716680733d72f34676755cdc4e876">yajl_gen.h</a>
+</li>
+<li>yajl_gen_map_close()
+: <a class="el" href="yajl__gen_8h.html#af75cd0ee728dbd835bbbefbcdc923dbe">yajl_gen.h</a>
+</li>
+<li>yajl_gen_map_open()
+: <a class="el" href="yajl__gen_8h.html#aaaefb19b3b2c96b0d3d0bbf3bc4886b2">yajl_gen.h</a>
+</li>
+<li>yajl_gen_no_buf
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caae50f6bbe222a87d4d202933e5347b0d7">yajl_gen.h</a>
+</li>
+<li>yajl_gen_null()
+: <a class="el" href="yajl__gen_8h.html#a33ad490ddf9372c0d27d4c32b4b693d2">yajl_gen.h</a>
+</li>
+<li>yajl_gen_number()
+: <a class="el" href="yajl__gen_8h.html#a2be3838ee84e1bfb8580702c357afca8">yajl_gen.h</a>
+</li>
+<li>yajl_gen_option
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">yajl_gen.h</a>
+</li>
+<li>yajl_gen_print_callback
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0ac97419eedb3cce5f9af8319b31d5b42e">yajl_gen.h</a>
+</li>
+<li>yajl_gen_status
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen.h</a>
+</li>
+<li>yajl_gen_status_ok
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen.h</a>
+</li>
+<li>yajl_gen_string()
+: <a class="el" href="yajl__gen_8h.html#aa9868194579f80d472131430f5f22228">yajl_gen.h</a>
+</li>
+<li>yajl_gen_validate_utf8
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0acead1389b0381db8fe6f43ea25c0c3cc">yajl_gen.h</a>
+</li>
+<li>YAJL_GET_ARRAY
+: <a class="el" href="yajl__tree_8h.html#a4224514d7e9a5cd43acbe94de5ce9000">yajl_tree.h</a>
+</li>
+<li>yajl_get_bytes_consumed()
+: <a class="el" href="yajl__parse_8h.html#a9e741f15830371db76defcf0e31a2de5">yajl_parse.h</a>
+</li>
+<li>YAJL_GET_DOUBLE
+: <a class="el" href="yajl__tree_8h.html#aa3c2643d3f2b63376dce65fa25e96a93">yajl_tree.h</a>
+</li>
+<li>yajl_get_error()
+: <a class="el" href="yajl__parse_8h.html#aa325ebc911cccdc461f485f158aa077c">yajl_parse.h</a>
+</li>
+<li>YAJL_GET_INTEGER
+: <a class="el" href="yajl__tree_8h.html#a69e47497b26e291bbe11d43d53b8b016">yajl_tree.h</a>
+</li>
+<li>YAJL_GET_NUMBER
+: <a class="el" href="yajl__tree_8h.html#acfdffbd514aefd7a2921dbd18b0d8c2c">yajl_tree.h</a>
+</li>
+<li>YAJL_GET_OBJECT
+: <a class="el" href="yajl__tree_8h.html#a8f25bc66f657ade894dd6aa0839726f1">yajl_tree.h</a>
+</li>
+<li>YAJL_GET_STRING
+: <a class="el" href="yajl__tree_8h.html#a2fe1773db524ee1efdad7eb97ce12c18">yajl_tree.h</a>
+</li>
+<li>yajl_handle
+: <a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_parse.h</a>
+</li>
+<li>YAJL_IS_ARRAY
+: <a class="el" href="yajl__tree_8h.html#addecd3327906b07a57fb12a67e5dc635">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_DOUBLE
+: <a class="el" href="yajl__tree_8h.html#a2f5b941466aa6fd3b0b1dff5dbb242c2">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_FALSE
+: <a class="el" href="yajl__tree_8h.html#a51bc6ecfe5df8a24e7a5c47cec94981b">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_INTEGER
+: <a class="el" href="yajl__tree_8h.html#a38d048c002ffeeb26afb1a85d4e66ab8">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_NULL
+: <a class="el" href="yajl__tree_8h.html#aa7d4861ba8a7b71943d948368e02c3da">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_NUMBER
+: <a class="el" href="yajl__tree_8h.html#ad1736311b9fac2b19c7726a9dbeb1b39">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_OBJECT
+: <a class="el" href="yajl__tree_8h.html#addf75553e77877995e78e93644921833">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_STRING
+: <a class="el" href="yajl__tree_8h.html#a839db27ecbbb8d61a699cedbd932132e">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_TRUE
+: <a class="el" href="yajl__tree_8h.html#ae330b2efd9dbe5746b0d5e6f20cda930">yajl_tree.h</a>
+</li>
+<li>yajl_malloc_func
+: <a class="el" href="yajl__common_8h.html#a97021e33b302878fec5168ccbb8def7f">yajl_common.h</a>
+</li>
+<li>YAJL_MAX_DEPTH
+: <a class="el" href="yajl__common_8h.html#a5c4e27acd65107c08224f00d0dc57d9e">yajl_common.h</a>
+</li>
+<li>yajl_max_depth_exceeded
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa2db8bdfc64aab69fe95a33ba76d087e8">yajl_gen.h</a>
+</li>
+<li>YAJL_NUMBER_DOUBLE_VALID
+: <a class="el" href="yajl__tree_8h.html#a7d4c94d04c85385a9650bde767a8311f">yajl_tree.h</a>
+</li>
+<li>YAJL_NUMBER_INT_VALID
+: <a class="el" href="yajl__tree_8h.html#a6b608d94afd51babb28475955c1654c2">yajl_tree.h</a>
+</li>
+<li>yajl_option
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">yajl_parse.h</a>
+</li>
+<li>yajl_parse()
+: <a class="el" href="yajl__parse_8h.html#a78e7f63d84ce1d76170d1f539b2823fa">yajl_parse.h</a>
+</li>
+<li>yajl_print_t
+: <a class="el" href="yajl__gen_8h.html#a1060585da6ccce2bcf6d4820035e7b79">yajl_gen.h</a>
+</li>
+<li>yajl_realloc_func
+: <a class="el" href="yajl__common_8h.html#aa2cd3fc7a89fca29ead305b7fa783db3">yajl_common.h</a>
+</li>
+<li>yajl_status
+: <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_parse.h</a>
+</li>
+<li>yajl_status_client_canceled
+: <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da44d6b8f18ecb5e30be3eb5b2f1f5717e">yajl_parse.h</a>
+</li>
+<li>yajl_status_error
+: <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7daeea581fa9c967d34ad5f062ef59718fd">yajl_parse.h</a>
+</li>
+<li>yajl_status_ok
+: <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7">yajl_parse.h</a>
+</li>
+<li>yajl_status_to_string()
+: <a class="el" href="yajl__parse_8h.html#ae00bd26f1b98a1ed5c86a4480e7782aa">yajl_parse.h</a>
+</li>
+<li>yajl_t_any
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a9f219b51253c2cb0e278cc4ad55b211e">yajl_tree.h</a>
+</li>
+<li>yajl_t_array
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab04a6b795fc500d54a3e507571de200e">yajl_tree.h</a>
+</li>
+<li>yajl_t_false
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a7a517c35ce7754fb57b3e000676b10f9">yajl_tree.h</a>
+</li>
+<li>yajl_t_null
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab1bde75d9a3a9f386fdd37262d8d9b25">yajl_tree.h</a>
+</li>
+<li>yajl_t_number
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91abde225a86bb95920a5e1126990634571">yajl_tree.h</a>
+</li>
+<li>yajl_t_object
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a033cfb2d466cd549f7cc51a9ba5992f2">yajl_tree.h</a>
+</li>
+<li>yajl_t_string
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65">yajl_tree.h</a>
+</li>
+<li>yajl_t_true
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a898367bbd0042414c0ba1a266e3a0423">yajl_tree.h</a>
+</li>
+<li>yajl_tree_free()
+: <a class="el" href="yajl__tree_8h.html#a83b59f411e80404aad35ae7071c4ecf8">yajl_tree.h</a>
+</li>
+<li>yajl_tree_get()
+: <a class="el" href="yajl__tree_8h.html#a534c427581fac81ee828c28367dbe90d">yajl_tree.h</a>
+</li>
+<li>yajl_tree_parse()
+: <a class="el" href="yajl__tree_8h.html#a6a04342e825859a3e9d52df93e9d112a">yajl_tree.h</a>
+</li>
+<li>yajl_type
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_tree.h</a>
+</li>
+<li>yajl_val
+: <a class="el" href="yajl__tree_8h.html#af4f7cb7f0a0f42f6f3d2d2563a4c171c">yajl_tree.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/globals_defs.html b/yajl-2.0.0/globals_defs.html
new file mode 100644
index 0000000..32dd14b
--- /dev/null
+++ b/yajl-2.0.0/globals_defs.html
@@ -0,0 +1,113 @@
+<!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>YAJL: Globals</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&#160;<ul>
+<li>YAJL_API
+: <a class="el" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">yajl_common.h</a>
+</li>
+<li>YAJL_GET_ARRAY
+: <a class="el" href="yajl__tree_8h.html#a4224514d7e9a5cd43acbe94de5ce9000">yajl_tree.h</a>
+</li>
+<li>YAJL_GET_DOUBLE
+: <a class="el" href="yajl__tree_8h.html#aa3c2643d3f2b63376dce65fa25e96a93">yajl_tree.h</a>
+</li>
+<li>YAJL_GET_INTEGER
+: <a class="el" href="yajl__tree_8h.html#a69e47497b26e291bbe11d43d53b8b016">yajl_tree.h</a>
+</li>
+<li>YAJL_GET_NUMBER
+: <a class="el" href="yajl__tree_8h.html#acfdffbd514aefd7a2921dbd18b0d8c2c">yajl_tree.h</a>
+</li>
+<li>YAJL_GET_OBJECT
+: <a class="el" href="yajl__tree_8h.html#a8f25bc66f657ade894dd6aa0839726f1">yajl_tree.h</a>
+</li>
+<li>YAJL_GET_STRING
+: <a class="el" href="yajl__tree_8h.html#a2fe1773db524ee1efdad7eb97ce12c18">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_ARRAY
+: <a class="el" href="yajl__tree_8h.html#addecd3327906b07a57fb12a67e5dc635">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_DOUBLE
+: <a class="el" href="yajl__tree_8h.html#a2f5b941466aa6fd3b0b1dff5dbb242c2">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_FALSE
+: <a class="el" href="yajl__tree_8h.html#a51bc6ecfe5df8a24e7a5c47cec94981b">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_INTEGER
+: <a class="el" href="yajl__tree_8h.html#a38d048c002ffeeb26afb1a85d4e66ab8">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_NULL
+: <a class="el" href="yajl__tree_8h.html#aa7d4861ba8a7b71943d948368e02c3da">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_NUMBER
+: <a class="el" href="yajl__tree_8h.html#ad1736311b9fac2b19c7726a9dbeb1b39">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_OBJECT
+: <a class="el" href="yajl__tree_8h.html#addf75553e77877995e78e93644921833">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_STRING
+: <a class="el" href="yajl__tree_8h.html#a839db27ecbbb8d61a699cedbd932132e">yajl_tree.h</a>
+</li>
+<li>YAJL_IS_TRUE
+: <a class="el" href="yajl__tree_8h.html#ae330b2efd9dbe5746b0d5e6f20cda930">yajl_tree.h</a>
+</li>
+<li>YAJL_MAX_DEPTH
+: <a class="el" href="yajl__common_8h.html#a5c4e27acd65107c08224f00d0dc57d9e">yajl_common.h</a>
+</li>
+<li>YAJL_NUMBER_DOUBLE_VALID
+: <a class="el" href="yajl__tree_8h.html#a7d4c94d04c85385a9650bde767a8311f">yajl_tree.h</a>
+</li>
+<li>YAJL_NUMBER_INT_VALID
+: <a class="el" href="yajl__tree_8h.html#a6b608d94afd51babb28475955c1654c2">yajl_tree.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/globals_enum.html b/yajl-2.0.0/globals_enum.html
new file mode 100644
index 0000000..804ed99
--- /dev/null
+++ b/yajl-2.0.0/globals_enum.html
@@ -0,0 +1,71 @@
+<!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>YAJL: Globals</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&#160;<ul>
+<li>yajl_gen_option
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">yajl_gen.h</a>
+</li>
+<li>yajl_gen_status
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen.h</a>
+</li>
+<li>yajl_option
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">yajl_parse.h</a>
+</li>
+<li>yajl_status
+: <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_parse.h</a>
+</li>
+<li>yajl_type
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_tree.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/globals_eval.html b/yajl-2.0.0/globals_eval.html
new file mode 100644
index 0000000..0f91ad3
--- /dev/null
+++ b/yajl-2.0.0/globals_eval.html
@@ -0,0 +1,140 @@
+<!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>YAJL: Globals</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&#160;<ul>
+<li>yajl_allow_comments
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6661c8af3b5eb5c3223ed714722bc804">yajl_parse.h</a>
+</li>
+<li>yajl_allow_multiple_values
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a3bad28aa7785a922541706c4ec5f38aa">yajl_parse.h</a>
+</li>
+<li>yajl_allow_partial_values
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6db18fdc747f3f3b481e85fdf1c9bdd5">yajl_parse.h</a>
+</li>
+<li>yajl_allow_trailing_garbage
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a505804d7beeebe98f70cdae3dcd738e3">yajl_parse.h</a>
+</li>
+<li>yajl_dont_validate_strings
+: <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a205d6d8c11b8f1df450a11a48444b16f">yajl_parse.h</a>
+</li>
+<li>yajl_gen_beautify
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16">yajl_gen.h</a>
+</li>
+<li>yajl_gen_generation_complete
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa8274e47b1f4dd68841a67e56868f7bb4">yajl_gen.h</a>
+</li>
+<li>yajl_gen_in_error_state
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa9ea74847e6d0e91bc7ee544e9851dc18">yajl_gen.h</a>
+</li>
+<li>yajl_gen_indent_string
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a005636a2e073b474bfad337edf5890d4">yajl_gen.h</a>
+</li>
+<li>yajl_gen_invalid_number
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa870e2d12c18f71a51697ddc4050a1262">yajl_gen.h</a>
+</li>
+<li>yajl_gen_invalid_string
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa89e7434eadb637a4fd2ead0eea52ffa5">yajl_gen.h</a>
+</li>
+<li>yajl_gen_keys_must_be_strings
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caacc1716680733d72f34676755cdc4e876">yajl_gen.h</a>
+</li>
+<li>yajl_gen_no_buf
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caae50f6bbe222a87d4d202933e5347b0d7">yajl_gen.h</a>
+</li>
+<li>yajl_gen_print_callback
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0ac97419eedb3cce5f9af8319b31d5b42e">yajl_gen.h</a>
+</li>
+<li>yajl_gen_status_ok
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen.h</a>
+</li>
+<li>yajl_gen_validate_utf8
+: <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0acead1389b0381db8fe6f43ea25c0c3cc">yajl_gen.h</a>
+</li>
+<li>yajl_max_depth_exceeded
+: <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa2db8bdfc64aab69fe95a33ba76d087e8">yajl_gen.h</a>
+</li>
+<li>yajl_status_client_canceled
+: <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da44d6b8f18ecb5e30be3eb5b2f1f5717e">yajl_parse.h</a>
+</li>
+<li>yajl_status_error
+: <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7daeea581fa9c967d34ad5f062ef59718fd">yajl_parse.h</a>
+</li>
+<li>yajl_status_ok
+: <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7">yajl_parse.h</a>
+</li>
+<li>yajl_t_any
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a9f219b51253c2cb0e278cc4ad55b211e">yajl_tree.h</a>
+</li>
+<li>yajl_t_array
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab04a6b795fc500d54a3e507571de200e">yajl_tree.h</a>
+</li>
+<li>yajl_t_false
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a7a517c35ce7754fb57b3e000676b10f9">yajl_tree.h</a>
+</li>
+<li>yajl_t_null
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab1bde75d9a3a9f386fdd37262d8d9b25">yajl_tree.h</a>
+</li>
+<li>yajl_t_number
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91abde225a86bb95920a5e1126990634571">yajl_tree.h</a>
+</li>
+<li>yajl_t_object
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a033cfb2d466cd549f7cc51a9ba5992f2">yajl_tree.h</a>
+</li>
+<li>yajl_t_string
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65">yajl_tree.h</a>
+</li>
+<li>yajl_t_true
+: <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a898367bbd0042414c0ba1a266e3a0423">yajl_tree.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/globals_func.html b/yajl-2.0.0/globals_func.html
new file mode 100644
index 0000000..5a34988
--- /dev/null
+++ b/yajl-2.0.0/globals_func.html
@@ -0,0 +1,137 @@
+<!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>YAJL: Globals</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&#160;<ul>
+<li>yajl_alloc()
+: <a class="el" href="yajl__parse_8h.html#ad91a06c5b72c4952be5ddf2ce4981113">yajl_parse.h</a>
+</li>
+<li>yajl_complete_parse()
+: <a class="el" href="yajl__parse_8h.html#ae685c439cf5c6cac2116245827e63cdc">yajl_parse.h</a>
+</li>
+<li>yajl_config()
+: <a class="el" href="yajl__parse_8h.html#aec816c5518264d2ac41c05469a0f986c">yajl_parse.h</a>
+</li>
+<li>yajl_free()
+: <a class="el" href="yajl__parse_8h.html#a9fc930b29358ec1e04bda35d8b73422e">yajl_parse.h</a>
+</li>
+<li>yajl_free_error()
+: <a class="el" href="yajl__parse_8h.html#a12b6514e18f78fab0825b71465d511ea">yajl_parse.h</a>
+</li>
+<li>yajl_gen_alloc()
+: <a class="el" href="yajl__gen_8h.html#a450ab80f9a562d2bd08fb103ba1b2c16">yajl_gen.h</a>
+</li>
+<li>yajl_gen_array_close()
+: <a class="el" href="yajl__gen_8h.html#ae3ba7ebfbea5a27f30f4c6c62ddc493b">yajl_gen.h</a>
+</li>
+<li>yajl_gen_array_open()
+: <a class="el" href="yajl__gen_8h.html#a68f7bc4fbfe8015f590bc284d386bf44">yajl_gen.h</a>
+</li>
+<li>yajl_gen_bool()
+: <a class="el" href="yajl__gen_8h.html#a9b761fd105b212682de291ca70836f93">yajl_gen.h</a>
+</li>
+<li>yajl_gen_clear()
+: <a class="el" href="yajl__gen_8h.html#a50116818ab3c0f3116e3baff0db2f4ef">yajl_gen.h</a>
+</li>
+<li>yajl_gen_config()
+: <a class="el" href="yajl__gen_8h.html#a1768fa9f58313c895d226419d8c59562">yajl_gen.h</a>
+</li>
+<li>yajl_gen_double()
+: <a class="el" href="yajl__gen_8h.html#ab588fa96fd582c3f592923fc0172f17c">yajl_gen.h</a>
+</li>
+<li>yajl_gen_free()
+: <a class="el" href="yajl__gen_8h.html#a9579c99fb77fb6f607db47de662adc9c">yajl_gen.h</a>
+</li>
+<li>yajl_gen_get_buf()
+: <a class="el" href="yajl__gen_8h.html#a62fdd1175a55da0c33b366a8aab925b0">yajl_gen.h</a>
+</li>
+<li>yajl_gen_integer()
+: <a class="el" href="yajl__gen_8h.html#a48064106605182f7591d62dea66c6008">yajl_gen.h</a>
+</li>
+<li>yajl_gen_map_close()
+: <a class="el" href="yajl__gen_8h.html#af75cd0ee728dbd835bbbefbcdc923dbe">yajl_gen.h</a>
+</li>
+<li>yajl_gen_map_open()
+: <a class="el" href="yajl__gen_8h.html#aaaefb19b3b2c96b0d3d0bbf3bc4886b2">yajl_gen.h</a>
+</li>
+<li>yajl_gen_null()
+: <a class="el" href="yajl__gen_8h.html#a33ad490ddf9372c0d27d4c32b4b693d2">yajl_gen.h</a>
+</li>
+<li>yajl_gen_number()
+: <a class="el" href="yajl__gen_8h.html#a2be3838ee84e1bfb8580702c357afca8">yajl_gen.h</a>
+</li>
+<li>yajl_gen_string()
+: <a class="el" href="yajl__gen_8h.html#aa9868194579f80d472131430f5f22228">yajl_gen.h</a>
+</li>
+<li>yajl_get_bytes_consumed()
+: <a class="el" href="yajl__parse_8h.html#a9e741f15830371db76defcf0e31a2de5">yajl_parse.h</a>
+</li>
+<li>yajl_get_error()
+: <a class="el" href="yajl__parse_8h.html#aa325ebc911cccdc461f485f158aa077c">yajl_parse.h</a>
+</li>
+<li>yajl_parse()
+: <a class="el" href="yajl__parse_8h.html#a78e7f63d84ce1d76170d1f539b2823fa">yajl_parse.h</a>
+</li>
+<li>yajl_status_to_string()
+: <a class="el" href="yajl__parse_8h.html#ae00bd26f1b98a1ed5c86a4480e7782aa">yajl_parse.h</a>
+</li>
+<li>yajl_tree_free()
+: <a class="el" href="yajl__tree_8h.html#a83b59f411e80404aad35ae7071c4ecf8">yajl_tree.h</a>
+</li>
+<li>yajl_tree_get()
+: <a class="el" href="yajl__tree_8h.html#a534c427581fac81ee828c28367dbe90d">yajl_tree.h</a>
+</li>
+<li>yajl_tree_parse()
+: <a class="el" href="yajl__tree_8h.html#a6a04342e825859a3e9d52df93e9d112a">yajl_tree.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/globals_type.html b/yajl-2.0.0/globals_type.html
new file mode 100644
index 0000000..9a6af63
--- /dev/null
+++ b/yajl-2.0.0/globals_type.html
@@ -0,0 +1,77 @@
+<!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>YAJL: Globals</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&#160;<ul>
+<li>yajl_free_func
+: <a class="el" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">yajl_common.h</a>
+</li>
+<li>yajl_gen
+: <a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen.h</a>
+</li>
+<li>yajl_handle
+: <a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_parse.h</a>
+</li>
+<li>yajl_malloc_func
+: <a class="el" href="yajl__common_8h.html#a97021e33b302878fec5168ccbb8def7f">yajl_common.h</a>
+</li>
+<li>yajl_print_t
+: <a class="el" href="yajl__gen_8h.html#a1060585da6ccce2bcf6d4820035e7b79">yajl_gen.h</a>
+</li>
+<li>yajl_realloc_func
+: <a class="el" href="yajl__common_8h.html#aa2cd3fc7a89fca29ead305b7fa783db3">yajl_common.h</a>
+</li>
+<li>yajl_val
+: <a class="el" href="yajl__tree_8h.html#af4f7cb7f0a0f42f6f3d2d2563a4c171c">yajl_tree.h</a>
+</li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/index.html b/yajl-2.0.0/index.html
new file mode 100644
index 0000000..7960f36
--- /dev/null
+++ b/yajl-2.0.0/index.html
@@ -0,0 +1,59 @@
+<!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>YAJL: Yet Another JSON Library (YAJL)</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">Yet Another JSON Library (YAJL) </div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>Lloyd Hilaiel </dd></dl>
+<dl class="date"><dt><b>Date:</b></dt><dd>2007-2011</dd></dl>
+<p>Yet Another JSON Library (YAJL) is a small event-driven (SAX-style) JSON parser written in ANSI C, and a small validating JSON generator. YAJL is released under the permissive ISC license.</p>
+<h2><a class="anchor" id="features"></a>
+Features</h2>
+<ol type="1">
+<li>Stream (incremental) parsing and generation of JSON</li>
+<li>ANSI C</li>
+<li>Human readable error messages with context</li>
+<li>tiny</li>
+<li>event driven</li>
+<li>support for generating "beautified" JSON</li>
+<li>includes It also includes a small simplified tree interface for simplified parsing and extraction of data from smallish JSON documents.</li>
+</ol>
+<h2><a class="anchor" id="usage"></a>
+Usage</h2>
+<p>The following code sample is a complete JSON "reformating" program. See <a href="reformatter_2json_reformat_8c-example.html">json_reformat.c</a> for a complete example of stream based parsing and generation of JSON. See <a href="example_2parse_config_8c-example.html">parse_config.c</a> for an example of the simplified tree interface. </p>
+</div></div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/jquery.js b/yajl-2.0.0/jquery.js
new file mode 100644
index 0000000..c052173
--- /dev/null
+++ b/yajl-2.0.0/jquery.js
@@ -0,0 +1,54 @@
+/*
+ * jQuery JavaScript Library v1.3.2
+ * http://jquery.com/
+ *
+ * Copyright (c) 2009 John Resig
+ * Dual licensed under the MIT and GPL licenses.
+ * http://docs.jquery.com/License
+ *
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
+ */
+(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){
+var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
+/*
+ * Sizzle CSS Selector Engine - v0.9.3
+ * Copyright 2009, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0)
+{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function()
+{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
+/*
+ * jQuery UI 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI
+ */
+jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/* * jQuery UI Resizable 1.7.2
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ * ui.core.js
+ */
+(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f<k.length;f++){var h=c.trim(k[f]),d="ui-resizable-"+h;var g=c('<div class="ui-resizable-handle '+d+'"></div>');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e<this._proportionallyResizeElements.length;e++){var g=this._proportionallyResizeElements[e];if(!this.borderDif){var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=c.map(d,function(k,m){var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;return l+n})}if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){continue}g.css({height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,width:(f.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var e=this.element,h=this.options;this.elementOffset=e.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0))
+{s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);;
+/**
+ * jQuery.ScrollTo - Easy element scrolling using jQuery.
+ * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
+ * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php).
+ * Date: 2/8/2008
+ * @author Ariel Flesler
+ * @version 1.3.2
+ */
+;(function($){var o=$.scrollTo=function(a,b,c){o.window().scrollTo(a,b,c)};o.defaults={axis:'y',duration:1};o.window=function(){return $($.browser.safari?'body':'html')};$.fn.scrollTo=function(l,m,n){if(typeof m=='object'){n=m;m=0}n=$.extend({},o.defaults,n);m=m||n.speed||n.duration;n.queue=n.queue&&n.axis.length>1;if(n.queue)m/=2;n.offset=j(n.offset);n.over=j(n.over);return this.each(function(){var a=this,b=$(a),t=l,c,d={},w=b.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t=j(t);break}t=$(t,this);case'object':if(t.is||t.style)c=(t=$(t)).offset()}$.each(n.axis.split(''),function(i,f){var P=f=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,e=a[k],D=f=='x'?'Width':'Height';if(c){d[k]=c[p]+(w?0:e-b.offset()[p]);if(n.margin){d[k]-=parseInt(t.css('margin'+P))||0;d[k]-=parseInt(t.css('border'+P+'Width'))||0}d[k]+=n.offset[p]||0;if(n.over[p])d[k]+=t[D.toLowerCase()]()*n.over[p]}else d[k]=t[p];if(/^\d+$/.test(d[k]))d[k]=d[k]<=0?0:Math.min(d[k],h(D));if(!i&&n.queue){if(e!=d[k])g(n.onAfterFirst);delete d[k]}});g(n.onAfter);function g(a){b.animate(d,m,n.easing,a&&function(){a.call(this,l)})};function h(D){var b=w?$.browser.opera?document.body:document.documentElement:a;return b['scroll'+D]-b['client'+D]}})};function j(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
+
diff --git a/yajl-2.0.0/nav_f.png b/yajl-2.0.0/nav_f.png
new file mode 100644
index 0000000..1b07a16
--- /dev/null
+++ b/yajl-2.0.0/nav_f.png
Binary files differ
diff --git a/yajl-2.0.0/nav_h.png b/yajl-2.0.0/nav_h.png
new file mode 100644
index 0000000..01f5fa6
--- /dev/null
+++ b/yajl-2.0.0/nav_h.png
Binary files differ
diff --git a/yajl-2.0.0/open.png b/yajl-2.0.0/open.png
new file mode 100644
index 0000000..7b35d2c
--- /dev/null
+++ b/yajl-2.0.0/open.png
Binary files differ
diff --git a/yajl-2.0.0/reformatter_2json_reformat_8c-example.html b/yajl-2.0.0/reformatter_2json_reformat_8c-example.html
new file mode 100644
index 0000000..6ac416b
--- /dev/null
+++ b/yajl-2.0.0/reformatter_2json_reformat_8c-example.html
@@ -0,0 +1,233 @@
+<!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>YAJL: reformatter/json_reformat.c</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">reformatter/json_reformat.c</div> </div>
+</div>
+<div class="contents">
+<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 2007-2011, Lloyd Hilaiel &lt;lloyd@hilaiel.com&gt;</span>
+<span class="comment"> *</span>
+<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any</span>
+<span class="comment"> * purpose with or without fee is hereby granted, provided that the above</span>
+<span class="comment"> * copyright notice and this permission notice appear in all copies.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span>
+<span class="comment"> * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span>
+<span class="comment"> * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span>
+<span class="comment"> * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span>
+<span class="comment"> * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span>
+<span class="comment"> * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span>
+<span class="comment"> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span>
+<span class="comment"> */</span>
+
+<span class="preprocessor">#include &lt;yajl/yajl_parse.h&gt;</span>
+<span class="preprocessor">#include &lt;yajl/yajl_gen.h&gt;</span>
+
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<span class="preprocessor">#include &lt;string.h&gt;</span>
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_null(<span class="keywordtype">void</span> * ctx)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a name="a0"></a><a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a name="a1"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a name="a2"></a><a class="code" href="yajl__gen_8h.html#a33ad490ddf9372c0d27d4c32b4b693d2">yajl_gen_null</a>(g);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_boolean(<span class="keywordtype">void</span> * ctx, <span class="keywordtype">int</span> <span class="keywordtype">boolean</span>)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a name="a3"></a><a class="code" href="yajl__gen_8h.html#a9b761fd105b212682de291ca70836f93">yajl_gen_bool</a>(g, <span class="keywordtype">boolean</span>);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_number(<span class="keywordtype">void</span> * ctx, <span class="keyword">const</span> <span class="keywordtype">char</span> * s, <span class="keywordtype">size_t</span> l)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a name="a4"></a><a class="code" href="yajl__gen_8h.html#a2be3838ee84e1bfb8580702c357afca8">yajl_gen_number</a>(g, s, l);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_string(<span class="keywordtype">void</span> * ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * stringVal,
+ <span class="keywordtype">size_t</span> stringLen)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a name="a5"></a><a class="code" href="yajl__gen_8h.html#aa9868194579f80d472131430f5f22228">yajl_gen_string</a>(g, stringVal, stringLen);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_map_key(<span class="keywordtype">void</span> * ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * stringVal,
+ <span class="keywordtype">size_t</span> stringLen)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a class="code" href="yajl__gen_8h.html#aa9868194579f80d472131430f5f22228">yajl_gen_string</a>(g, stringVal, stringLen);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_start_map(<span class="keywordtype">void</span> * ctx)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a name="a6"></a><a class="code" href="yajl__gen_8h.html#aaaefb19b3b2c96b0d3d0bbf3bc4886b2">yajl_gen_map_open</a>(g);
+}
+
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_end_map(<span class="keywordtype">void</span> * ctx)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a name="a7"></a><a class="code" href="yajl__gen_8h.html#af75cd0ee728dbd835bbbefbcdc923dbe">yajl_gen_map_close</a>(g);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_start_array(<span class="keywordtype">void</span> * ctx)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a name="a8"></a><a class="code" href="yajl__gen_8h.html#a68f7bc4fbfe8015f590bc284d386bf44">yajl_gen_array_open</a>(g);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">int</span> reformat_end_array(<span class="keywordtype">void</span> * ctx)
+{
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g = (<a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>) ctx;
+ <span class="keywordflow">return</span> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> == <a name="a9"></a><a class="code" href="yajl__gen_8h.html#ae3ba7ebfbea5a27f30f4c6c62ddc493b">yajl_gen_array_close</a>(g);
+}
+
+<span class="keyword">static</span> <a name="_a10"></a><a class="code" href="structyajl__callbacks.html">yajl_callbacks</a> callbacks = {
+ reformat_null,
+ reformat_boolean,
+ NULL,
+ NULL,
+ reformat_number,
+ reformat_string,
+ reformat_start_map,
+ reformat_map_key,
+ reformat_end_map,
+ reformat_start_array,
+ reformat_end_array
+};
+
+<span class="keyword">static</span> <span class="keywordtype">void</span>
+usage(<span class="keyword">const</span> <span class="keywordtype">char</span> * progname)
+{
+ fprintf(stderr, <span class="stringliteral">&quot;%s: reformat json from stdin\n&quot;</span>
+ <span class="stringliteral">&quot;usage: json_reformat [options]\n&quot;</span>
+ <span class="stringliteral">&quot; -m minimize json rather than beautify (default)\n&quot;</span>
+ <span class="stringliteral">&quot; -u allow invalid UTF8 inside strings during parsing\n&quot;</span>,
+ progname);
+ exit(1);
+
+}
+
+<span class="keywordtype">int</span>
+main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)
+{
+ <a class="code" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> hand;
+ <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> fileData[65536];
+ <span class="comment">/* generator config */</span>
+ <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g;
+ <a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a> stat;
+ <span class="keywordtype">size_t</span> rd;
+ <span class="keywordtype">int</span> retval = 0;
+ <span class="keywordtype">int</span> a = 1;
+
+ g = <a name="a11"></a><a class="code" href="yajl__gen_8h.html#a450ab80f9a562d2bd08fb103ba1b2c16">yajl_gen_alloc</a>(NULL);
+ <a name="a12"></a><a class="code" href="yajl__gen_8h.html#a1768fa9f58313c895d226419d8c59562">yajl_gen_config</a>(g, <a name="a13"></a><a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16">yajl_gen_beautify</a>, 1);
+ <a class="code" href="yajl__gen_8h.html#a1768fa9f58313c895d226419d8c59562">yajl_gen_config</a>(g, <a name="a14"></a><a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0acead1389b0381db8fe6f43ea25c0c3cc">yajl_gen_validate_utf8</a>, 1);
+
+ <span class="comment">/* ok. open file. let&#39;s read and parse */</span>
+ hand = <a name="a15"></a><a class="code" href="yajl__parse_8h.html#ad91a06c5b72c4952be5ddf2ce4981113">yajl_alloc</a>(&amp;callbacks, NULL, (<span class="keywordtype">void</span> *) g);
+ <span class="comment">/* and let&#39;s allow comments by default */</span>
+ <a name="a16"></a><a class="code" href="yajl__parse_8h.html#aec816c5518264d2ac41c05469a0f986c">yajl_config</a>(hand, <a name="a17"></a><a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6661c8af3b5eb5c3223ed714722bc804">yajl_allow_comments</a>, 1);
+
+ <span class="comment">/* check arguments.*/</span>
+ <span class="keywordflow">while</span> ((a &lt; argc) &amp;&amp; (argv[a][0] == <span class="charliteral">&#39;-&#39;</span>) &amp;&amp; (strlen(argv[a]) &gt; 1)) {
+ <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
+ <span class="keywordflow">for</span> ( i=1; i &lt; strlen(argv[a]); i++) {
+ <span class="keywordflow">switch</span> (argv[a][i]) {
+ <span class="keywordflow">case</span> <span class="charliteral">&#39;m&#39;</span>:
+ <a class="code" href="yajl__gen_8h.html#a1768fa9f58313c895d226419d8c59562">yajl_gen_config</a>(g, <a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16">yajl_gen_beautify</a>, 0);
+ <span class="keywordflow">break</span>;
+ <span class="keywordflow">case</span> <span class="charliteral">&#39;u&#39;</span>:
+ <a class="code" href="yajl__parse_8h.html#aec816c5518264d2ac41c05469a0f986c">yajl_config</a>(hand, <a name="a18"></a><a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a205d6d8c11b8f1df450a11a48444b16f">yajl_dont_validate_strings</a>, 1);
+ <span class="keywordflow">break</span>;
+ <span class="keywordflow">default</span>:
+ fprintf(stderr, <span class="stringliteral">&quot;unrecognized option: &#39;%c&#39;\n\n&quot;</span>,
+ argv[a][i]);
+ usage(argv[0]);
+ }
+ }
+ ++a;
+ }
+ <span class="keywordflow">if</span> (a &lt; argc) {
+ usage(argv[0]);
+ }
+
+
+ <span class="keywordflow">for</span> (;;) {
+ rd = fread((<span class="keywordtype">void</span> *) fileData, 1, <span class="keyword">sizeof</span>(fileData) - 1, stdin);
+
+ <span class="keywordflow">if</span> (rd == 0) {
+ <span class="keywordflow">if</span> (!feof(stdin)) {
+ fprintf(stderr, <span class="stringliteral">&quot;error on file read.\n&quot;</span>);
+ retval = 1;
+ }
+ <span class="keywordflow">break</span>;
+ }
+ fileData[rd] = 0;
+
+ stat = <a name="a19"></a><a class="code" href="yajl__parse_8h.html#a78e7f63d84ce1d76170d1f539b2823fa">yajl_parse</a>(hand, fileData, rd);
+
+ <span class="keywordflow">if</span> (stat != <a name="a20"></a><a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7">yajl_status_ok</a>) <span class="keywordflow">break</span>;
+
+ {
+ <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * buf;
+ <span class="keywordtype">size_t</span> len;
+ <a name="a21"></a><a class="code" href="yajl__gen_8h.html#a62fdd1175a55da0c33b366a8aab925b0">yajl_gen_get_buf</a>(g, &amp;buf, &amp;len);
+ fwrite(buf, 1, len, stdout);
+ <a name="a22"></a><a class="code" href="yajl__gen_8h.html#a50116818ab3c0f3116e3baff0db2f4ef">yajl_gen_clear</a>(g);
+ }
+ }
+
+ stat = <a name="a23"></a><a class="code" href="yajl__parse_8h.html#ae685c439cf5c6cac2116245827e63cdc">yajl_complete_parse</a>(hand);
+
+ <span class="keywordflow">if</span> (stat != <a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7">yajl_status_ok</a>) {
+ <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * str = <a name="a24"></a><a class="code" href="yajl__parse_8h.html#aa325ebc911cccdc461f485f158aa077c">yajl_get_error</a>(hand, 1, fileData, rd);
+ fprintf(stderr, <span class="stringliteral">&quot;%s&quot;</span>, (<span class="keyword">const</span> <span class="keywordtype">char</span> *) str);
+ <a name="a25"></a><a class="code" href="yajl__parse_8h.html#a12b6514e18f78fab0825b71465d511ea">yajl_free_error</a>(hand, str);
+ retval = 1;
+ }
+
+ <a name="a26"></a><a class="code" href="yajl__gen_8h.html#a9579c99fb77fb6f607db47de662adc9c">yajl_gen_free</a>(g);
+ <a name="a27"></a><a class="code" href="yajl__parse_8h.html#a9fc930b29358ec1e04bda35d8b73422e">yajl_free</a>(hand);
+
+ <span class="keywordflow">return</span> retval;
+}
+</pre></div> </div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/structyajl__alloc__funcs.html b/yajl-2.0.0/structyajl__alloc__funcs.html
new file mode 100644
index 0000000..dae5307
--- /dev/null
+++ b/yajl-2.0.0/structyajl__alloc__funcs.html
@@ -0,0 +1,122 @@
+<!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>YAJL: yajl_alloc_funcs Struct 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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Data Fields</a> </div>
+ <div class="headertitle">
+<div class="title">yajl_alloc_funcs Struct Reference</div> </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="yajl_alloc_funcs" -->
+<p><code>#include &lt;<a class="el" href="yajl__common_8h_source.html">yajl_common.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="yajl__common_8h.html#a97021e33b302878fec5168ccbb8def7f">yajl_malloc_func</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__alloc__funcs.html#a4e32ade73f896e6446f8cb0ad0ee7456">malloc</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="yajl__common_8h.html#aa2cd3fc7a89fca29ead305b7fa783db3">yajl_realloc_func</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__alloc__funcs.html#ae677d7c736fe2d735f83f3dd17cfacb7">realloc</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">yajl_free_func</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__alloc__funcs.html#a0c29b65b64754fdadbbbe9ea04701a2f">free</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__alloc__funcs.html#afa64c0d73d185a6fdabd648e9746f6b5">ctx</a></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A structure which can be passed to yajl_*_alloc routines to allow the client to specify memory allocation functions to be used. </p>
+</div><hr/><h2>Field Documentation</h2>
+<a class="anchor" id="afa64c0d73d185a6fdabd648e9746f6b5"></a><!-- doxytag: member="yajl_alloc_funcs::ctx" ref="afa64c0d73d185a6fdabd648e9746f6b5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void* <a class="el" href="structyajl__alloc__funcs.html#afa64c0d73d185a6fdabd648e9746f6b5">yajl_alloc_funcs::ctx</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>a context pointer that will be passed to above allocation routines </p>
+
+</div>
+</div>
+<a class="anchor" id="a0c29b65b64754fdadbbbe9ea04701a2f"></a><!-- doxytag: member="yajl_alloc_funcs::free" ref="a0c29b65b64754fdadbbbe9ea04701a2f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">yajl_free_func</a> <a class="el" href="structyajl__alloc__funcs.html#a0c29b65b64754fdadbbbe9ea04701a2f">yajl_alloc_funcs::free</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>pointer to a function that can free memory allocated using reallocFunction or mallocFunction </p>
+
+</div>
+</div>
+<a class="anchor" id="a4e32ade73f896e6446f8cb0ad0ee7456"></a><!-- doxytag: member="yajl_alloc_funcs::malloc" ref="a4e32ade73f896e6446f8cb0ad0ee7456" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="yajl__common_8h.html#a97021e33b302878fec5168ccbb8def7f">yajl_malloc_func</a> <a class="el" href="structyajl__alloc__funcs.html#a4e32ade73f896e6446f8cb0ad0ee7456">yajl_alloc_funcs::malloc</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>pointer to a function that can allocate uninitialized memory </p>
+
+</div>
+</div>
+<a class="anchor" id="ae677d7c736fe2d735f83f3dd17cfacb7"></a><!-- doxytag: member="yajl_alloc_funcs::realloc" ref="ae677d7c736fe2d735f83f3dd17cfacb7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="yajl__common_8h.html#aa2cd3fc7a89fca29ead305b7fa783db3">yajl_realloc_func</a> <a class="el" href="structyajl__alloc__funcs.html#ae677d7c736fe2d735f83f3dd17cfacb7">yajl_alloc_funcs::realloc</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>pointer to a function that can resize memory allocations </p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="yajl__common_8h_source.html">yajl_common.h</a></li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/structyajl__callbacks.html b/yajl-2.0.0/structyajl__callbacks.html
new file mode 100644
index 0000000..ee1ebf1
--- /dev/null
+++ b/yajl-2.0.0/structyajl__callbacks.html
@@ -0,0 +1,224 @@
+<!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>YAJL: yajl_callbacks Struct 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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Data Fields</a> </div>
+ <div class="headertitle">
+<div class="title">yajl_callbacks Struct Reference</div> </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="yajl_callbacks" -->
+<p><code>#include &lt;<a class="el" href="yajl__parse_8h_source.html">yajl_parse.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#a119925fa35d01fd556faa502397a6eb8">yajl_null</a> )(void *ctx)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#a9e4e6a69c6e88dbb1db692cc51fdcb85">yajl_boolean</a> )(void *ctx, int boolVal)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#a15a9e0bf944513d1030c316900fa85b4">yajl_integer</a> )(void *ctx, long long integerVal)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#a6e4b6fc64ddb2707950eb811304d1c46">yajl_double</a> )(void *ctx, double doubleVal)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#aa7164c98b00d472a6162c3f8974f0beb">yajl_number</a> )(void *ctx, const char *numberVal, size_t numberLen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#a53ee00516d0e5365bfb5746bdb699f14">yajl_string</a> )(void *ctx, const unsigned char *stringVal, size_t stringLen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#a9da6fafbc2069780a02710778e61462e">yajl_start_map</a> )(void *ctx)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#a774f662e58584dfd0521a6213a118897">yajl_map_key</a> )(void *ctx, const unsigned char *key, size_t stringLen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#aff8abd4229027390adf59afcbb4e0f42">yajl_end_map</a> )(void *ctx)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#aaf4cf875e2a6e1ab1a8af94d16f60083">yajl_start_array</a> )(void *ctx)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html#a4671213ae60fed9bc885c38829362b0c">yajl_end_array</a> )(void *ctx)</td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>yajl is an event driven parser. this means as json elements are parsed, you are called back to do something with the data. The functions in this table indicate the various events for which you will be called back. Each callback accepts a "context" pointer, this is a void * that is passed into the yajl_parse function which the client code may use to pass around context.</p>
+<p>All callbacks return an integer. If non-zero, the parse will continue. If zero, the parse will be canceled and yajl_status_client_canceled will be returned from the parse.</p>
+<dl class="attention"><dt><b>Attention:</b></dt><dd>{ A note about the handling of numbers:</dd></dl>
+<p>yajl will only convert numbers that can be represented in a double or a 64 bit (long long) int. All other numbers will be passed to the client in string form using the yajl_number callback. Furthermore, if yajl_number is not NULL, it will always be used to return numbers, that is yajl_integer and yajl_double will be ignored. If yajl_number is NULL but one of yajl_integer or yajl_double are defined, parsing of a number larger than is representable in a double or 64 bit integer will result in a parse error. } </p>
+<dl><dt><b>Examples: </b></dt><dd>
+<p><a class="el" href="reformatter_2json_reformat_8c-example.html#_a10">reformatter/json_reformat.c</a>.</p>
+</dd>
+</dl></div><hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a9e4e6a69c6e88dbb1db692cc51fdcb85"></a><!-- doxytag: member="yajl_callbacks::yajl_boolean" ref="a9e4e6a69c6e88dbb1db692cc51fdcb85" args=")(void *ctx, int boolVal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#a9e4e6a69c6e88dbb1db692cc51fdcb85">yajl_callbacks::yajl_boolean</a>)(void *ctx, int boolVal)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6e4b6fc64ddb2707950eb811304d1c46"></a><!-- doxytag: member="yajl_callbacks::yajl_double" ref="a6e4b6fc64ddb2707950eb811304d1c46" args=")(void *ctx, double doubleVal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#a6e4b6fc64ddb2707950eb811304d1c46">yajl_callbacks::yajl_double</a>)(void *ctx, double doubleVal)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4671213ae60fed9bc885c38829362b0c"></a><!-- doxytag: member="yajl_callbacks::yajl_end_array" ref="a4671213ae60fed9bc885c38829362b0c" args=")(void *ctx)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#a4671213ae60fed9bc885c38829362b0c">yajl_callbacks::yajl_end_array</a>)(void *ctx)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aff8abd4229027390adf59afcbb4e0f42"></a><!-- doxytag: member="yajl_callbacks::yajl_end_map" ref="aff8abd4229027390adf59afcbb4e0f42" args=")(void *ctx)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#aff8abd4229027390adf59afcbb4e0f42">yajl_callbacks::yajl_end_map</a>)(void *ctx)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a15a9e0bf944513d1030c316900fa85b4"></a><!-- doxytag: member="yajl_callbacks::yajl_integer" ref="a15a9e0bf944513d1030c316900fa85b4" args=")(void *ctx, long long integerVal)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#a15a9e0bf944513d1030c316900fa85b4">yajl_callbacks::yajl_integer</a>)(void *ctx, long long integerVal)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a774f662e58584dfd0521a6213a118897"></a><!-- doxytag: member="yajl_callbacks::yajl_map_key" ref="a774f662e58584dfd0521a6213a118897" args=")(void *ctx, const unsigned char *key, size_t stringLen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#a774f662e58584dfd0521a6213a118897">yajl_callbacks::yajl_map_key</a>)(void *ctx, const unsigned char *key, size_t stringLen)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a119925fa35d01fd556faa502397a6eb8"></a><!-- doxytag: member="yajl_callbacks::yajl_null" ref="a119925fa35d01fd556faa502397a6eb8" args=")(void *ctx)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#a119925fa35d01fd556faa502397a6eb8">yajl_callbacks::yajl_null</a>)(void *ctx)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa7164c98b00d472a6162c3f8974f0beb"></a><!-- doxytag: member="yajl_callbacks::yajl_number" ref="aa7164c98b00d472a6162c3f8974f0beb" args=")(void *ctx, const char *numberVal, size_t numberLen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#aa7164c98b00d472a6162c3f8974f0beb">yajl_callbacks::yajl_number</a>)(void *ctx, const char *numberVal, size_t numberLen)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>A callback which passes the string representation of the number back to the client. Will be used for all numbers when present </p>
+
+</div>
+</div>
+<a class="anchor" id="aaf4cf875e2a6e1ab1a8af94d16f60083"></a><!-- doxytag: member="yajl_callbacks::yajl_start_array" ref="aaf4cf875e2a6e1ab1a8af94d16f60083" args=")(void *ctx)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#aaf4cf875e2a6e1ab1a8af94d16f60083">yajl_callbacks::yajl_start_array</a>)(void *ctx)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9da6fafbc2069780a02710778e61462e"></a><!-- doxytag: member="yajl_callbacks::yajl_start_map" ref="a9da6fafbc2069780a02710778e61462e" args=")(void *ctx)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#a9da6fafbc2069780a02710778e61462e">yajl_callbacks::yajl_start_map</a>)(void *ctx)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a53ee00516d0e5365bfb5746bdb699f14"></a><!-- doxytag: member="yajl_callbacks::yajl_string" ref="a53ee00516d0e5365bfb5746bdb699f14" args=")(void *ctx, const unsigned char *stringVal, size_t stringLen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int(* <a class="el" href="structyajl__callbacks.html#a53ee00516d0e5365bfb5746bdb699f14">yajl_callbacks::yajl_string</a>)(void *ctx, const unsigned char *stringVal, size_t stringLen)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>strings are returned as pointers into the JSON text when, possible, as a result, they are _not_ null padded </p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="yajl__parse_8h_source.html">yajl_parse.h</a></li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/structyajl__val__s.html b/yajl-2.0.0/structyajl__val__s.html
new file mode 100644
index 0000000..16b333a
--- /dev/null
+++ b/yajl-2.0.0/structyajl__val__s.html
@@ -0,0 +1,255 @@
+<!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>YAJL: yajl_val_s Struct 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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li><a href="examples.html"><span>Examples</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#pub-attribs">Data Fields</a> </div>
+ <div class="headertitle">
+<div class="title">yajl_val_s Struct Reference</div> </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="yajl_val_s" -->
+<p><code>#include &lt;<a class="el" href="yajl__tree_8h_source.html">yajl_tree.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__val__s.html#a5286ed2abc22873bc8c077097f7ea150">type</a></td></tr>
+<tr><td class="memItemLeft" >union {</td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;char *&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#aac83572f6b853d5c7a795b55c0aae58a">string</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;long long&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#a4be16e75b0cc50da2095f0173c131edb">i</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;double&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#ac3fce696fa80f53d835d926e789dafe6">d</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;char *&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#ad0ede299cce3bb4ff9f4555cfa29c6e9">r</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;unsigned int&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#a1f066a7d58a2dc4dbff1d74e6db159b5">flags</a></td></tr>
+<tr><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#af077c25001c10628b08e0ed5aad8eba3">number</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;const char **&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#ac2b0cacd580b0bfb3382e76d886a4a41">keys</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html">yajl_val</a> *&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#afd8c6ba1bdde6363a0ac365f11e072ec">values</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;size_t&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#a11cc5c05f3753cd1a21e42c3e9cadb3a">len</a></td></tr>
+<tr><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#a6506c62d205d0fce17b29396b5ed375d">object</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;struct {</td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html">yajl_val</a> *&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#afd8c6ba1bdde6363a0ac365f11e072ec">values</a></td></tr>
+<tr><td class="memItemLeft" >&#160;&#160;&#160;&#160;&#160;&#160;size_t&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#a11cc5c05f3753cd1a21e42c3e9cadb3a">len</a></td></tr>
+<tr><td class="memItemLeft" valign="top">&#160;&#160;&#160;}&#160;&#160;&#160;<a class="el" href="structyajl__val__s.html#ae708d0b32d69717e29f84054b319478a">array</a></td></tr>
+<tr><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__val__s.html#a3ee44fca707c2b934083b5b77daf196a">u</a></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>A JSON value representation capable of holding one of the seven types above. For "string", "number", "object", and "array" additional data is available in the union. The "YAJL_IS_*" and "YAJL_GET_*" macros below allow type checking and convenient value extraction. </p>
+<dl><dt><b>Examples: </b></dt><dd>
+<p><a class="el" href="example_2parse_config_8c-example.html#_a0">example/parse_config.c</a>.</p>
+</dd>
+</dl></div><hr/><h2>Field Documentation</h2>
+<a class="anchor" id="ae708d0b32d69717e29f84054b319478a"></a><!-- doxytag: member="yajl_val_s::array" ref="ae708d0b32d69717e29f84054b319478a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct { ... } <a class="el" href="structyajl__val__s.html#ae708d0b32d69717e29f84054b319478a">yajl_val_s::array</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac3fce696fa80f53d835d926e789dafe6"></a><!-- doxytag: member="yajl_val_s::d" ref="ac3fce696fa80f53d835d926e789dafe6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double <a class="el" href="structyajl__val__s.html#ac3fce696fa80f53d835d926e789dafe6">yajl_val_s::d</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1f066a7d58a2dc4dbff1d74e6db159b5"></a><!-- doxytag: member="yajl_val_s::flags" ref="a1f066a7d58a2dc4dbff1d74e6db159b5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned int <a class="el" href="structyajl__val__s.html#a1f066a7d58a2dc4dbff1d74e6db159b5">yajl_val_s::flags</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4be16e75b0cc50da2095f0173c131edb"></a><!-- doxytag: member="yajl_val_s::i" ref="a4be16e75b0cc50da2095f0173c131edb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">long long <a class="el" href="structyajl__val__s.html#a4be16e75b0cc50da2095f0173c131edb">yajl_val_s::i</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac2b0cacd580b0bfb3382e76d886a4a41"></a><!-- doxytag: member="yajl_val_s::keys" ref="ac2b0cacd580b0bfb3382e76d886a4a41" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char** <a class="el" href="structyajl__val__s.html#ac2b0cacd580b0bfb3382e76d886a4a41">yajl_val_s::keys</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a11cc5c05f3753cd1a21e42c3e9cadb3a"></a><!-- doxytag: member="yajl_val_s::len" ref="a11cc5c05f3753cd1a21e42c3e9cadb3a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t <a class="el" href="structyajl__val__s.html#a11cc5c05f3753cd1a21e42c3e9cadb3a">yajl_val_s::len</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af077c25001c10628b08e0ed5aad8eba3"></a><!-- doxytag: member="yajl_val_s::number" ref="af077c25001c10628b08e0ed5aad8eba3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct { ... } <a class="el" href="structyajl__val__s.html#af077c25001c10628b08e0ed5aad8eba3">yajl_val_s::number</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6506c62d205d0fce17b29396b5ed375d"></a><!-- doxytag: member="yajl_val_s::object" ref="a6506c62d205d0fce17b29396b5ed375d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct { ... } <a class="el" href="structyajl__val__s.html#a6506c62d205d0fce17b29396b5ed375d">yajl_val_s::object</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad0ede299cce3bb4ff9f4555cfa29c6e9"></a><!-- doxytag: member="yajl_val_s::r" ref="ad0ede299cce3bb4ff9f4555cfa29c6e9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="structyajl__val__s.html#ad0ede299cce3bb4ff9f4555cfa29c6e9">yajl_val_s::r</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Signals whether the <em>i</em> and <em>d</em> members are valid. See <code>YAJL_NUMBER_INT_VALID</code> and <code>YAJL_NUMBER_DOUBLE_VALID</code>. </p>
+
+</div>
+</div>
+<a class="anchor" id="aac83572f6b853d5c7a795b55c0aae58a"></a><!-- doxytag: member="yajl_val_s::string" ref="aac83572f6b853d5c7a795b55c0aae58a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="structyajl__val__s.html#aac83572f6b853d5c7a795b55c0aae58a">yajl_val_s::string</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5286ed2abc22873bc8c077097f7ea150"></a><!-- doxytag: member="yajl_val_s::type" ref="a5286ed2abc22873bc8c077097f7ea150" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a> <a class="el" href="structyajl__val__s.html#a5286ed2abc22873bc8c077097f7ea150">yajl_val_s::type</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Type of the value contained. Use the "YAJL_IS_*" macors to check for a specific type. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3ee44fca707c2b934083b5b77daf196a"></a><!-- doxytag: member="yajl_val_s::u" ref="a3ee44fca707c2b934083b5b77daf196a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">union { ... } <a class="el" href="structyajl__val__s.html#a3ee44fca707c2b934083b5b77daf196a">yajl_val_s::u</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afd8c6ba1bdde6363a0ac365f11e072ec"></a><!-- doxytag: member="yajl_val_s::values" ref="afd8c6ba1bdde6363a0ac365f11e072ec" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structyajl__val__s.html">yajl_val</a>* <a class="el" href="structyajl__val__s.html#afd8c6ba1bdde6363a0ac365f11e072ec">yajl_val_s::values</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="yajl__tree_8h_source.html">yajl_tree.h</a></li>
+</ul>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/tab_a.png b/yajl-2.0.0/tab_a.png
new file mode 100644
index 0000000..2d99ef2
--- /dev/null
+++ b/yajl-2.0.0/tab_a.png
Binary files differ
diff --git a/yajl-2.0.0/tab_b.png b/yajl-2.0.0/tab_b.png
new file mode 100644
index 0000000..b2c3d2b
--- /dev/null
+++ b/yajl-2.0.0/tab_b.png
Binary files differ
diff --git a/yajl-2.0.0/tab_h.png b/yajl-2.0.0/tab_h.png
new file mode 100644
index 0000000..c11f48f
--- /dev/null
+++ b/yajl-2.0.0/tab_h.png
Binary files differ
diff --git a/yajl-2.0.0/tab_s.png b/yajl-2.0.0/tab_s.png
new file mode 100644
index 0000000..978943a
--- /dev/null
+++ b/yajl-2.0.0/tab_s.png
Binary files differ
diff --git a/yajl-2.0.0/tabs.css b/yajl-2.0.0/tabs.css
new file mode 100644
index 0000000..2192056
--- /dev/null
+++ b/yajl-2.0.0/tabs.css
@@ -0,0 +1,59 @@
+.tabs, .tabs2, .tabs3 {
+ background-image: url('tab_b.png');
+ width: 100%;
+ z-index: 101;
+ font-size: 13px;
+}
+
+.tabs2 {
+ font-size: 10px;
+}
+.tabs3 {
+ font-size: 9px;
+}
+
+.tablist {
+ margin: 0;
+ padding: 0;
+ display: table;
+}
+
+.tablist li {
+ float: left;
+ display: table-cell;
+ background-image: url('tab_b.png');
+ line-height: 36px;
+ list-style: none;
+}
+
+.tablist a {
+ display: block;
+ padding: 0 20px;
+ font-weight: bold;
+ background-image:url('tab_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color: #283A5D;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+ outline: none;
+}
+
+.tabs3 .tablist a {
+ padding: 0 10px;
+}
+
+.tablist a:hover {
+ background-image: url('tab_h.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ text-decoration: none;
+}
+
+.tablist li.current a {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/yajl-2.0.0/yajl.html b/yajl-2.0.0/yajl.html
new file mode 100644
index 0000000..9e16f11
--- /dev/null
+++ b/yajl-2.0.0/yajl.html
@@ -0,0 +1,50 @@
+<!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>YAJL: yajl 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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+</div>
+<div class="header">
+ <div class="headertitle">
+<div class="title">yajl File Reference</div> </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+</table>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/yajl__common_8h.html b/yajl-2.0.0/yajl__common_8h.html
new file mode 100644
index 0000000..5d2a408
--- /dev/null
+++ b/yajl-2.0.0/yajl__common_8h.html
@@ -0,0 +1,139 @@
+<!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>YAJL: yajl_common.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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> </div>
+ <div class="headertitle">
+<div class="title">yajl_common.h File Reference</div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include &lt;stddef.h&gt;</code><br/>
+</div>
+<p><a href="yajl__common_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__common_8h.html#a5c4e27acd65107c08224f00d0dc57d9e">YAJL_MAX_DEPTH</a>&#160;&#160;&#160;128</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__common_8h.html#a97021e33b302878fec5168ccbb8def7f">yajl_malloc_func</a> )(void *ctx, size_t sz)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">yajl_free_func</a> )(void *ctx, void *ptr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__common_8h.html#aa2cd3fc7a89fca29ead305b7fa783db3">yajl_realloc_func</a> )(void *ctx, void *ptr, size_t sz)</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a112d9a9234313b4fa3d419c0723146c5"></a><!-- doxytag: member="yajl_common.h::YAJL_API" ref="a112d9a9234313b4fa3d419c0723146c5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_API</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5c4e27acd65107c08224f00d0dc57d9e"></a><!-- doxytag: member="yajl_common.h::YAJL_MAX_DEPTH" ref="a5c4e27acd65107c08224f00d0dc57d9e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_MAX_DEPTH&#160;&#160;&#160;128</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a198f518fe5c41d9c3fc3818ec4e2b6f0"></a><!-- doxytag: member="yajl_common.h::yajl_free_func" ref="a198f518fe5c41d9c3fc3818ec4e2b6f0" args=")(void *ctx, void *ptr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void(* <a class="el" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">yajl_free_func</a>)(void *ctx, void *ptr)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>pointer to a free function, supporting client overriding memory allocation routines </p>
+
+</div>
+</div>
+<a class="anchor" id="a97021e33b302878fec5168ccbb8def7f"></a><!-- doxytag: member="yajl_common.h::yajl_malloc_func" ref="a97021e33b302878fec5168ccbb8def7f" args=")(void *ctx, size_t sz)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void*(* <a class="el" href="yajl__common_8h.html#a97021e33b302878fec5168ccbb8def7f">yajl_malloc_func</a>)(void *ctx, size_t sz)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>pointer to a malloc function, supporting client overriding memory allocation routines </p>
+
+</div>
+</div>
+<a class="anchor" id="aa2cd3fc7a89fca29ead305b7fa783db3"></a><!-- doxytag: member="yajl_common.h::yajl_realloc_func" ref="aa2cd3fc7a89fca29ead305b7fa783db3" args=")(void *ctx, void *ptr, size_t sz)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void*(* <a class="el" href="yajl__common_8h.html#aa2cd3fc7a89fca29ead305b7fa783db3">yajl_realloc_func</a>)(void *ctx, void *ptr, size_t sz)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>pointer to a realloc function which can resize an allocation. </p>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/yajl__common_8h_source.html b/yajl-2.0.0/yajl__common_8h_source.html
new file mode 100644
index 0000000..609432c
--- /dev/null
+++ b/yajl-2.0.0/yajl__common_8h_source.html
@@ -0,0 +1,111 @@
+<!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>YAJL: yajl_common.h Source File</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+<div class="header">
+ <div class="headertitle">
+<div class="title">yajl_common.h</div> </div>
+</div>
+<div class="contents">
+<a href="yajl__common_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2007-2011, Lloyd Hilaiel &lt;lloyd@hilaiel.com&gt;</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any</span>
+<a name="l00005"></a>00005 <span class="comment"> * purpose with or without fee is hereby granted, provided that the above</span>
+<a name="l00006"></a>00006 <span class="comment"> * copyright notice and this permission notice appear in all copies.</span>
+<a name="l00007"></a>00007 <span class="comment"> *</span>
+<a name="l00008"></a>00008 <span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span>
+<a name="l00009"></a>00009 <span class="comment"> * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span>
+<a name="l00010"></a>00010 <span class="comment"> * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span>
+<a name="l00011"></a>00011 <span class="comment"> * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span>
+<a name="l00012"></a>00012 <span class="comment"> * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span>
+<a name="l00013"></a>00013 <span class="comment"> * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span>
+<a name="l00014"></a>00014 <span class="comment"> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#ifndef __YAJL_COMMON_H__</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __YAJL_COMMON_H__</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;stddef.h&gt;</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
+<a name="l00024"></a>00024 <span class="preprocessor">#endif </span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a><a class="code" href="yajl__common_8h.html#a5c4e27acd65107c08224f00d0dc57d9e">00026</a> <span class="preprocessor">#define YAJL_MAX_DEPTH 128</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a>00028 <span class="comment">/* msft dll export gunk. To build a DLL on windows, you</span>
+<a name="l00029"></a>00029 <span class="comment"> * must define WIN32, YAJL_SHARED, and YAJL_BUILD. To use a shared</span>
+<a name="l00030"></a>00030 <span class="comment"> * DLL, you must define YAJL_SHARED and WIN32 */</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#if defined(WIN32) &amp;&amp; defined(YAJL_SHARED)</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor"># ifdef YAJL_BUILD</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor"># define YAJL_API __declspec(dllexport)</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor"># else</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor"># define YAJL_API __declspec(dllimport)</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor"># if defined(__GNUC__) &amp;&amp; (__GNUC__ * 100 + __GNUC_MINOR__) &gt;= 303</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor"># define YAJL_API __attribute__ ((visibility(&quot;default&quot;)))</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor"># else</span>
+<a name="l00041"></a><a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">00041</a> <span class="preprocessor"></span><span class="preprocessor"># define YAJL_API</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#endif </span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span>
+<a name="l00047"></a><a class="code" href="yajl__common_8h.html#a97021e33b302878fec5168ccbb8def7f">00047</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*yajl_malloc_func)(<span class="keywordtype">void</span> *ctx, <span class="keywordtype">size_t</span> sz);
+<a name="l00048"></a>00048
+<a name="l00051"></a><a class="code" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">00051</a> <span class="keyword">typedef</span> void (*<a class="code" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">yajl_free_func</a>)(<span class="keywordtype">void</span> *ctx, <span class="keywordtype">void</span> * ptr);
+<a name="l00052"></a>00052
+<a name="l00054"></a><a class="code" href="yajl__common_8h.html#aa2cd3fc7a89fca29ead305b7fa783db3">00054</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*yajl_realloc_func)(<span class="keywordtype">void</span> *ctx, <span class="keywordtype">void</span> * ptr, <span class="keywordtype">size_t</span> sz);
+<a name="l00055"></a>00055
+<a name="l00058"></a><a class="code" href="structyajl__alloc__funcs.html">00058</a> <span class="keyword">typedef</span> <span class="keyword">struct</span>
+<a name="l00059"></a>00059 {
+<a name="l00061"></a><a class="code" href="structyajl__alloc__funcs.html#a4e32ade73f896e6446f8cb0ad0ee7456">00061</a> <a class="code" href="yajl__common_8h.html#a97021e33b302878fec5168ccbb8def7f">yajl_malloc_func</a> <a class="code" href="structyajl__alloc__funcs.html#a4e32ade73f896e6446f8cb0ad0ee7456">malloc</a>;
+<a name="l00063"></a><a class="code" href="structyajl__alloc__funcs.html#ae677d7c736fe2d735f83f3dd17cfacb7">00063</a> <a class="code" href="yajl__common_8h.html#aa2cd3fc7a89fca29ead305b7fa783db3">yajl_realloc_func</a> <a class="code" href="structyajl__alloc__funcs.html#ae677d7c736fe2d735f83f3dd17cfacb7">realloc</a>;
+<a name="l00066"></a><a class="code" href="structyajl__alloc__funcs.html#a0c29b65b64754fdadbbbe9ea04701a2f">00066</a> <a class="code" href="yajl__common_8h.html#a198f518fe5c41d9c3fc3818ec4e2b6f0">yajl_free_func</a> <a class="code" href="structyajl__alloc__funcs.html#a0c29b65b64754fdadbbbe9ea04701a2f">free</a>;
+<a name="l00068"></a><a class="code" href="structyajl__alloc__funcs.html#afa64c0d73d185a6fdabd648e9746f6b5">00068</a> <span class="keywordtype">void</span> * <a class="code" href="structyajl__alloc__funcs.html#afa64c0d73d185a6fdabd648e9746f6b5">ctx</a>;
+<a name="l00069"></a>00069 } <a class="code" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a>;
+<a name="l00070"></a>00070
+<a name="l00071"></a>00071 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span>}
+<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
+<a name="l00074"></a>00074 <span class="preprocessor"></span>
+<a name="l00075"></a>00075 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/yajl__gen_8h.html b/yajl-2.0.0/yajl__gen_8h.html
new file mode 100644
index 0000000..c78d82a
--- /dev/null
+++ b/yajl-2.0.0/yajl__gen_8h.html
@@ -0,0 +1,581 @@
+<!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>YAJL: yajl_gen.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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">yajl_gen.h File Reference</div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include &lt;yajl/yajl_common.h&gt;</code><br/>
+<code>#include &lt;stddef.h&gt;</code><br/>
+</div>
+<p><a href="yajl__gen_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct yajl_gen_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a1060585da6ccce2bcf6d4820035e7b79">yajl_print_t</a> )(void *ctx, const char *str, size_t len)</td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> { <br/>
+&#160;&#160;<a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> = 0,
+<a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caacc1716680733d72f34676755cdc4e876">yajl_gen_keys_must_be_strings</a>,
+<a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa2db8bdfc64aab69fe95a33ba76d087e8">yajl_max_depth_exceeded</a>,
+<a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa9ea74847e6d0e91bc7ee544e9851dc18">yajl_gen_in_error_state</a>,
+<br/>
+&#160;&#160;<a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa8274e47b1f4dd68841a67e56868f7bb4">yajl_gen_generation_complete</a>,
+<a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa870e2d12c18f71a51697ddc4050a1262">yajl_gen_invalid_number</a>,
+<a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caae50f6bbe222a87d4d202933e5347b0d7">yajl_gen_no_buf</a>,
+<a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa89e7434eadb637a4fd2ead0eea52ffa5">yajl_gen_invalid_string</a>
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">yajl_gen_option</a> { <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16">yajl_gen_beautify</a> = 0x01,
+<a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a005636a2e073b474bfad337edf5890d4">yajl_gen_indent_string</a> = 0x02,
+<a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0ac97419eedb3cce5f9af8319b31d5b42e">yajl_gen_print_callback</a> = 0x04,
+<a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0acead1389b0381db8fe6f43ea25c0c3cc">yajl_gen_validate_utf8</a> = 0x08
+ }</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a1768fa9f58313c895d226419d8c59562">yajl_gen_config</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> g, <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">yajl_gen_option</a> opt,...)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a450ab80f9a562d2bd08fb103ba1b2c16">yajl_gen_alloc</a> (const <a class="el" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a> *allocFuncs)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a9579c99fb77fb6f607db47de662adc9c">yajl_gen_free</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> handle)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a48064106605182f7591d62dea66c6008">yajl_gen_integer</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand, long long int number)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#ab588fa96fd582c3f592923fc0172f17c">yajl_gen_double</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand, double number)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a2be3838ee84e1bfb8580702c357afca8">yajl_gen_number</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand, const char *num, size_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#aa9868194579f80d472131430f5f22228">yajl_gen_string</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand, const unsigned char *str, size_t len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a33ad490ddf9372c0d27d4c32b4b693d2">yajl_gen_null</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a9b761fd105b212682de291ca70836f93">yajl_gen_bool</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand, int boolean)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#aaaefb19b3b2c96b0d3d0bbf3bc4886b2">yajl_gen_map_open</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#af75cd0ee728dbd835bbbefbcdc923dbe">yajl_gen_map_close</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a68f7bc4fbfe8015f590bc284d386bf44">yajl_gen_array_open</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#ae3ba7ebfbea5a27f30f4c6c62ddc493b">yajl_gen_array_close</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a62fdd1175a55da0c33b366a8aab925b0">yajl_gen_get_buf</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand, const unsigned char **buf, size_t *len)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__gen_8h.html#a50116818ab3c0f3116e3baff0db2f4ef">yajl_gen_clear</a> (<a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> hand)</td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Interface to YAJL's JSON generation facilities. </p>
+</div><hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a497f7224309c1a0118f40c87e3fd3f65"></a><!-- doxytag: member="yajl_gen.h::yajl_gen" ref="a497f7224309c1a0118f40c87e3fd3f65" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct yajl_gen_t* <a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>an opaque handle to a generator </p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a0">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a1060585da6ccce2bcf6d4820035e7b79"></a><!-- doxytag: member="yajl_gen.h::yajl_print_t" ref="a1060585da6ccce2bcf6d4820035e7b79" args=")(void *ctx, const char *str, size_t len)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void(* <a class="el" href="yajl__gen_8h.html#a1060585da6ccce2bcf6d4820035e7b79">yajl_print_t</a>)(void *ctx, const char *str, size_t len)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>a callback used for "printing" the results. </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a57c29080044a7231ac0cf1fead4de4b0"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_option" ref="a57c29080044a7231ac0cf1fead4de4b0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">yajl_gen_option</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>configuration parameters for the parser, these may be passed to <a class="el" href="yajl__gen_8h.html#a1768fa9f58313c895d226419d8c59562">yajl_gen_config()</a> along with option specific argument(s). In general, all configuration parameters default to *off*. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16"></a><!-- doxytag: member="yajl_gen_beautify" ref="a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16" args="" -->yajl_gen_beautify</em>&nbsp;</td><td>
+<p>generate indented (beautiful) output </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a57c29080044a7231ac0cf1fead4de4b0a005636a2e073b474bfad337edf5890d4"></a><!-- doxytag: member="yajl_gen_indent_string" ref="a57c29080044a7231ac0cf1fead4de4b0a005636a2e073b474bfad337edf5890d4" args="" -->yajl_gen_indent_string</em>&nbsp;</td><td>
+<p>Set an indent string which is used when yajl_gen_beautify is enabled. Maybe something like \t or some number of spaces. The default is four spaces ' '. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a57c29080044a7231ac0cf1fead4de4b0ac97419eedb3cce5f9af8319b31d5b42e"></a><!-- doxytag: member="yajl_gen_print_callback" ref="a57c29080044a7231ac0cf1fead4de4b0ac97419eedb3cce5f9af8319b31d5b42e" args="" -->yajl_gen_print_callback</em>&nbsp;</td><td>
+<p>Set a function and context argument that should be used to output generated json. the function should conform to the yajl_print_t prototype while the context argument is a void * of your choosing.</p>
+<p>example: yajl_gen_config(g, yajl_gen_print_callback, myFunc, myVoidPtr); </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a57c29080044a7231ac0cf1fead4de4b0acead1389b0381db8fe6f43ea25c0c3cc"></a><!-- doxytag: member="yajl_gen_validate_utf8" ref="a57c29080044a7231ac0cf1fead4de4b0acead1389b0381db8fe6f43ea25c0c3cc" args="" -->yajl_gen_validate_utf8</em>&nbsp;</td><td>
+<p>Normally the generator does not validate that strings you pass to it via <a class="el" href="yajl__gen_8h.html#aa9868194579f80d472131430f5f22228">yajl_gen_string()</a> are valid UTF8. Enabling this option will cause it to do so. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aff033c27f29817c1fc794a16197f63ca"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_status" ref="aff033c27f29817c1fc794a16197f63ca" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>generator status codes </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7"></a><!-- doxytag: member="yajl_gen_status_ok" ref="aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7" args="" -->yajl_gen_status_ok</em>&nbsp;</td><td>
+<p>no error </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aff033c27f29817c1fc794a16197f63caacc1716680733d72f34676755cdc4e876"></a><!-- doxytag: member="yajl_gen_keys_must_be_strings" ref="aff033c27f29817c1fc794a16197f63caacc1716680733d72f34676755cdc4e876" args="" -->yajl_gen_keys_must_be_strings</em>&nbsp;</td><td>
+<p>at a point where a map key is generated, a function other than yajl_gen_string was called </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aff033c27f29817c1fc794a16197f63caa2db8bdfc64aab69fe95a33ba76d087e8"></a><!-- doxytag: member="yajl_max_depth_exceeded" ref="aff033c27f29817c1fc794a16197f63caa2db8bdfc64aab69fe95a33ba76d087e8" args="" -->yajl_max_depth_exceeded</em>&nbsp;</td><td>
+<p>YAJL's maximum generation depth was exceeded. see YAJL_MAX_DEPTH </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aff033c27f29817c1fc794a16197f63caa9ea74847e6d0e91bc7ee544e9851dc18"></a><!-- doxytag: member="yajl_gen_in_error_state" ref="aff033c27f29817c1fc794a16197f63caa9ea74847e6d0e91bc7ee544e9851dc18" args="" -->yajl_gen_in_error_state</em>&nbsp;</td><td>
+<p>A generator function (yajl_gen_XXX) was called while in an error state </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aff033c27f29817c1fc794a16197f63caa8274e47b1f4dd68841a67e56868f7bb4"></a><!-- doxytag: member="yajl_gen_generation_complete" ref="aff033c27f29817c1fc794a16197f63caa8274e47b1f4dd68841a67e56868f7bb4" args="" -->yajl_gen_generation_complete</em>&nbsp;</td><td>
+<p>A complete JSON document has been generated </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aff033c27f29817c1fc794a16197f63caa870e2d12c18f71a51697ddc4050a1262"></a><!-- doxytag: member="yajl_gen_invalid_number" ref="aff033c27f29817c1fc794a16197f63caa870e2d12c18f71a51697ddc4050a1262" args="" -->yajl_gen_invalid_number</em>&nbsp;</td><td>
+<p>yajl_gen_double was passed an invalid floating point value (infinity or NaN). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aff033c27f29817c1fc794a16197f63caae50f6bbe222a87d4d202933e5347b0d7"></a><!-- doxytag: member="yajl_gen_no_buf" ref="aff033c27f29817c1fc794a16197f63caae50f6bbe222a87d4d202933e5347b0d7" args="" -->yajl_gen_no_buf</em>&nbsp;</td><td>
+<p>A print callback was passed in, so there is no internal buffer to get from </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aff033c27f29817c1fc794a16197f63caa89e7434eadb637a4fd2ead0eea52ffa5"></a><!-- doxytag: member="yajl_gen_invalid_string" ref="aff033c27f29817c1fc794a16197f63caa89e7434eadb637a4fd2ead0eea52ffa5" args="" -->yajl_gen_invalid_string</em>&nbsp;</td><td>
+<p>returned from <a class="el" href="yajl__gen_8h.html#aa9868194579f80d472131430f5f22228">yajl_gen_string()</a> when the yajl_gen_validate_utf8 option is enabled and an invalid was passed by client code. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a450ab80f9a562d2bd08fb103ba1b2c16"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_alloc" ref="a450ab80f9a562d2bd08fb103ba1b2c16" args="(const yajl_alloc_funcs *allocFuncs)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a> yajl_gen_alloc </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a> *&#160;</td>
+ <td class="paramname"><em>allocFuncs</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>allocate a generator handle </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">allocFuncs</td><td>an optional pointer to a structure which allows the client to overide the memory allocation used by yajl. May be NULL, in which case malloc/free/realloc will be used.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>an allocated handle on success, NULL on failure (bad params) </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a11">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae3ba7ebfbea5a27f30f4c6c62ddc493b"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_array_close" ref="ae3ba7ebfbea5a27f30f4c6c62ddc493b" args="(yajl_gen hand)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_array_close </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a9">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a68f7bc4fbfe8015f590bc284d386bf44"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_array_open" ref="a68f7bc4fbfe8015f590bc284d386bf44" args="(yajl_gen hand)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_array_open </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a8">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9b761fd105b212682de291ca70836f93"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_bool" ref="a9b761fd105b212682de291ca70836f93" args="(yajl_gen hand, int boolean)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_bool </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>boolean</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a3">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a50116818ab3c0f3116e3baff0db2f4ef"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_clear" ref="a50116818ab3c0f3116e3baff0db2f4ef" args="(yajl_gen hand)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API void yajl_gen_clear </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>clear yajl's output buffer, but maintain all internal generation state. This function will not "reset" the generator state, and is intended to enable incremental JSON outputing. </p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a22">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a1768fa9f58313c895d226419d8c59562"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_config" ref="a1768fa9f58313c895d226419d8c59562" args="(yajl_gen g, yajl_gen_option opt,...)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API int yajl_gen_config </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>g</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">yajl_gen_option</a>&#160;</td>
+ <td class="paramname"><em>opt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>...</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>allow the modification of generator options subsequent to handle allocation (via yajl_alloc) </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>zero in case of errors, non-zero otherwise </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a12">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ab588fa96fd582c3f592923fc0172f17c"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_double" ref="ab588fa96fd582c3f592923fc0172f17c" args="(yajl_gen hand, double number)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_double </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&#160;</td>
+ <td class="paramname"><em>number</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>generate a floating point number. number may not be infinity or NaN, as these have no representation in JSON. In these cases the generator will return 'yajl_gen_invalid_number' </p>
+
+</div>
+</div>
+<a class="anchor" id="a9579c99fb77fb6f607db47de662adc9c"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_free" ref="a9579c99fb77fb6f607db47de662adc9c" args="(yajl_gen handle)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API void yajl_gen_free </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>handle</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>free a generator handle </p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a26">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a62fdd1175a55da0c33b366a8aab925b0"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_get_buf" ref="a62fdd1175a55da0c33b366a8aab925b0" args="(yajl_gen hand, const unsigned char **buf, size_t *len)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_get_buf </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const unsigned char **&#160;</td>
+ <td class="paramname"><em>buf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t *&#160;</td>
+ <td class="paramname"><em>len</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>access the null terminated generator buffer. If incrementally outputing JSON, one should call yajl_gen_clear to clear the buffer. This allows stream generation. </p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a21">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a48064106605182f7591d62dea66c6008"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_integer" ref="a48064106605182f7591d62dea66c6008" args="(yajl_gen hand, long long int number)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_integer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">long long int&#160;</td>
+ <td class="paramname"><em>number</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af75cd0ee728dbd835bbbefbcdc923dbe"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_map_close" ref="af75cd0ee728dbd835bbbefbcdc923dbe" args="(yajl_gen hand)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_map_close </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a7">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aaaefb19b3b2c96b0d3d0bbf3bc4886b2"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_map_open" ref="aaaefb19b3b2c96b0d3d0bbf3bc4886b2" args="(yajl_gen hand)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_map_open </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a6">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a33ad490ddf9372c0d27d4c32b4b693d2"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_null" ref="a33ad490ddf9372c0d27d4c32b4b693d2" args="(yajl_gen hand)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_null </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a2">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a2be3838ee84e1bfb8580702c357afca8"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_number" ref="a2be3838ee84e1bfb8580702c357afca8" args="(yajl_gen hand, const char *num, size_t len)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_number </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>num</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>len</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a4">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aa9868194579f80d472131430f5f22228"></a><!-- doxytag: member="yajl_gen.h::yajl_gen_string" ref="aa9868194579f80d472131430f5f22228" args="(yajl_gen hand, const unsigned char *str, size_t len)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> yajl_gen_string </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const unsigned char *&#160;</td>
+ <td class="paramname"><em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>len</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a5">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/yajl__gen_8h_source.html b/yajl-2.0.0/yajl__gen_8h_source.html
new file mode 100644
index 0000000..90ef509
--- /dev/null
+++ b/yajl-2.0.0/yajl__gen_8h_source.html
@@ -0,0 +1,131 @@
+<!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>YAJL: yajl_gen.h Source File</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+<div class="header">
+ <div class="headertitle">
+<div class="title">yajl_gen.h</div> </div>
+</div>
+<div class="contents">
+<a href="yajl__gen_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2007-2011, Lloyd Hilaiel &lt;lloyd@hilaiel.com&gt;</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any</span>
+<a name="l00005"></a>00005 <span class="comment"> * purpose with or without fee is hereby granted, provided that the above</span>
+<a name="l00006"></a>00006 <span class="comment"> * copyright notice and this permission notice appear in all copies.</span>
+<a name="l00007"></a>00007 <span class="comment"> *</span>
+<a name="l00008"></a>00008 <span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span>
+<a name="l00009"></a>00009 <span class="comment"> * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span>
+<a name="l00010"></a>00010 <span class="comment"> * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span>
+<a name="l00011"></a>00011 <span class="comment"> * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span>
+<a name="l00012"></a>00012 <span class="comment"> * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span>
+<a name="l00013"></a>00013 <span class="comment"> * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span>
+<a name="l00014"></a>00014 <span class="comment"> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;yajl/yajl_common.h&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef __YAJL_GEN_H__</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define __YAJL_GEN_H__</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;stddef.h&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
+<a name="l00031"></a>00031 <span class="preprocessor">#endif </span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span>
+<a name="l00033"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">00033</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00035"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">00035</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa457aa396721f15a7cf34508bf00e22d7">yajl_gen_status_ok</a> = 0,
+<a name="l00038"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caacc1716680733d72f34676755cdc4e876">00038</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caacc1716680733d72f34676755cdc4e876">yajl_gen_keys_must_be_strings</a>,
+<a name="l00041"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa2db8bdfc64aab69fe95a33ba76d087e8">00041</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa2db8bdfc64aab69fe95a33ba76d087e8">yajl_max_depth_exceeded</a>,
+<a name="l00044"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa9ea74847e6d0e91bc7ee544e9851dc18">00044</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa9ea74847e6d0e91bc7ee544e9851dc18">yajl_gen_in_error_state</a>,
+<a name="l00046"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa8274e47b1f4dd68841a67e56868f7bb4">00046</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa8274e47b1f4dd68841a67e56868f7bb4">yajl_gen_generation_complete</a>,
+<a name="l00049"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa870e2d12c18f71a51697ddc4050a1262">00049</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa870e2d12c18f71a51697ddc4050a1262">yajl_gen_invalid_number</a>,
+<a name="l00052"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caae50f6bbe222a87d4d202933e5347b0d7">00052</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caae50f6bbe222a87d4d202933e5347b0d7">yajl_gen_no_buf</a>,
+<a name="l00056"></a><a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa89e7434eadb637a4fd2ead0eea52ffa5">00056</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63caa89e7434eadb637a4fd2ead0eea52ffa5">yajl_gen_invalid_string</a>
+<a name="l00057"></a>00057 } <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a>;
+<a name="l00058"></a>00058
+<a name="l00060"></a><a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">00060</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>yajl_gen_t * <a class="code" href="yajl__gen_8h.html#a497f7224309c1a0118f40c87e3fd3f65">yajl_gen</a>;
+<a name="l00061"></a>00061
+<a name="l00063"></a><a class="code" href="yajl__gen_8h.html#a1060585da6ccce2bcf6d4820035e7b79">00063</a> <span class="keyword">typedef</span> void (*<a class="code" href="yajl__gen_8h.html#a1060585da6ccce2bcf6d4820035e7b79">yajl_print_t</a>)(<span class="keywordtype">void</span> * ctx,
+<a name="l00064"></a>00064 <span class="keyword">const</span> <span class="keywordtype">char</span> * str,
+<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> len);
+<a name="l00066"></a>00066
+<a name="l00070"></a><a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">00070</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00072"></a><a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16">00072</a> <a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a7ee1cbb5e028e6d0ac25890940918f16">yajl_gen_beautify</a> = 0x01,
+<a name="l00078"></a><a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a005636a2e073b474bfad337edf5890d4">00078</a> <a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0a005636a2e073b474bfad337edf5890d4">yajl_gen_indent_string</a> = 0x02,
+<a name="l00088"></a><a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0ac97419eedb3cce5f9af8319b31d5b42e">00088</a> <a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0ac97419eedb3cce5f9af8319b31d5b42e">yajl_gen_print_callback</a> = 0x04,
+<a name="l00094"></a><a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0acead1389b0381db8fe6f43ea25c0c3cc">00094</a> <a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0acead1389b0381db8fe6f43ea25c0c3cc">yajl_gen_validate_utf8</a> = 0x08
+<a name="l00095"></a>00095 } <a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">yajl_gen_option</a>;
+<a name="l00096"></a>00096
+<a name="l00101"></a>00101 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">int</span> <a class="code" href="yajl__gen_8h.html#a1768fa9f58313c895d226419d8c59562">yajl_gen_config</a>(yajl_gen g, <a class="code" href="yajl__gen_8h.html#a57c29080044a7231ac0cf1fead4de4b0">yajl_gen_option</a> opt, ...);
+<a name="l00102"></a>00102
+<a name="l00111"></a>00111 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> yajl_gen <a class="code" href="yajl__gen_8h.html#a450ab80f9a562d2bd08fb103ba1b2c16">yajl_gen_alloc</a>(<span class="keyword">const</span> <a class="code" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a> * allocFuncs);
+<a name="l00112"></a>00112
+<a name="l00114"></a>00114 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">void</span> <a class="code" href="yajl__gen_8h.html#a9579c99fb77fb6f607db47de662adc9c">yajl_gen_free</a>(yajl_gen handle);
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#a48064106605182f7591d62dea66c6008">yajl_gen_integer</a>(yajl_gen hand, <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> number);
+<a name="l00120"></a>00120 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#ab588fa96fd582c3f592923fc0172f17c">yajl_gen_double</a>(yajl_gen hand, <span class="keywordtype">double</span> number);
+<a name="l00121"></a>00121 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#a2be3838ee84e1bfb8580702c357afca8">yajl_gen_number</a>(yajl_gen hand,
+<a name="l00122"></a>00122 <span class="keyword">const</span> <span class="keywordtype">char</span> * num,
+<a name="l00123"></a>00123 <span class="keywordtype">size_t</span> len);
+<a name="l00124"></a>00124 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#aa9868194579f80d472131430f5f22228">yajl_gen_string</a>(yajl_gen hand,
+<a name="l00125"></a>00125 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * str,
+<a name="l00126"></a>00126 <span class="keywordtype">size_t</span> len);
+<a name="l00127"></a>00127 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#a33ad490ddf9372c0d27d4c32b4b693d2">yajl_gen_null</a>(yajl_gen hand);
+<a name="l00128"></a>00128 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#a9b761fd105b212682de291ca70836f93">yajl_gen_bool</a>(yajl_gen hand, <span class="keywordtype">int</span> <span class="keywordtype">boolean</span>);
+<a name="l00129"></a>00129 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#aaaefb19b3b2c96b0d3d0bbf3bc4886b2">yajl_gen_map_open</a>(yajl_gen hand);
+<a name="l00130"></a>00130 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#af75cd0ee728dbd835bbbefbcdc923dbe">yajl_gen_map_close</a>(yajl_gen hand);
+<a name="l00131"></a>00131 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#a68f7bc4fbfe8015f590bc284d386bf44">yajl_gen_array_open</a>(yajl_gen hand);
+<a name="l00132"></a>00132 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#ae3ba7ebfbea5a27f30f4c6c62ddc493b">yajl_gen_array_close</a>(yajl_gen hand);
+<a name="l00133"></a>00133
+<a name="l00137"></a>00137 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__gen_8h.html#aff033c27f29817c1fc794a16197f63ca">yajl_gen_status</a> <a class="code" href="yajl__gen_8h.html#a62fdd1175a55da0c33b366a8aab925b0">yajl_gen_get_buf</a>(yajl_gen hand,
+<a name="l00138"></a>00138 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ** buf,
+<a name="l00139"></a>00139 <span class="keywordtype">size_t</span> * len);
+<a name="l00140"></a>00140
+<a name="l00144"></a>00144 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">void</span> <a class="code" href="yajl__gen_8h.html#a50116818ab3c0f3116e3baff0db2f4ef">yajl_gen_clear</a>(yajl_gen hand);
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00147"></a>00147 <span class="preprocessor"></span>}
+<a name="l00148"></a>00148 <span class="preprocessor">#endif </span>
+<a name="l00149"></a>00149 <span class="preprocessor"></span>
+<a name="l00150"></a>00150 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/yajl__parse_8h.html b/yajl-2.0.0/yajl__parse_8h.html
new file mode 100644
index 0000000..4eea8f7
--- /dev/null
+++ b/yajl-2.0.0/yajl__parse_8h.html
@@ -0,0 +1,448 @@
+<!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>YAJL: yajl_parse.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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">yajl_parse.h File Reference</div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include &lt;yajl/yajl_common.h&gt;</code><br/>
+<code>#include &lt;stddef.h&gt;</code><br/>
+</div>
+<p><a href="yajl__parse_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__callbacks.html">yajl_callbacks</a></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct yajl_handle_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a> { <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7">yajl_status_ok</a>,
+<a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da44d6b8f18ecb5e30be3eb5b2f1f5717e">yajl_status_client_canceled</a>,
+<a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7daeea581fa9c967d34ad5f062ef59718fd">yajl_status_error</a>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">yajl_option</a> { <br/>
+&#160;&#160;<a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6661c8af3b5eb5c3223ed714722bc804">yajl_allow_comments</a> = 0x01,
+<a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a205d6d8c11b8f1df450a11a48444b16f">yajl_dont_validate_strings</a> = 0x02,
+<a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a505804d7beeebe98f70cdae3dcd738e3">yajl_allow_trailing_garbage</a> = 0x04,
+<a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a3bad28aa7785a922541706c4ec5f38aa">yajl_allow_multiple_values</a> = 0x08,
+<br/>
+&#160;&#160;<a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6db18fdc747f3f3b481e85fdf1c9bdd5">yajl_allow_partial_values</a> = 0x10
+<br/>
+ }</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#ae00bd26f1b98a1ed5c86a4480e7782aa">yajl_status_to_string</a> (<a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a> code)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#ad91a06c5b72c4952be5ddf2ce4981113">yajl_alloc</a> (const <a class="el" href="structyajl__callbacks.html">yajl_callbacks</a> *callbacks, <a class="el" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a> *afs, void *ctx)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#aec816c5518264d2ac41c05469a0f986c">yajl_config</a> (<a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> h, <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">yajl_option</a> opt,...)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#a9fc930b29358ec1e04bda35d8b73422e">yajl_free</a> (<a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> handle)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#a78e7f63d84ce1d76170d1f539b2823fa">yajl_parse</a> (<a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> hand, const unsigned char *jsonText, size_t jsonTextLength)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#ae685c439cf5c6cac2116245827e63cdc">yajl_complete_parse</a> (<a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> hand)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#aa325ebc911cccdc461f485f158aa077c">yajl_get_error</a> (<a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> hand, int verbose, const unsigned char *jsonText, size_t jsonTextLength)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#a9e741f15830371db76defcf0e31a2de5">yajl_get_bytes_consumed</a> (<a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> hand)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__parse_8h.html#a12b6514e18f78fab0825b71465d511ea">yajl_free_error</a> (<a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> hand, unsigned char *str)</td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Interface to YAJL's JSON stream parsing facilities. </p>
+</div><hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="acb85b92f3d7cb6f0743b4e68d0172323"></a><!-- doxytag: member="yajl_parse.h::yajl_handle" ref="acb85b92f3d7cb6f0743b4e68d0172323" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct yajl_handle_t* <a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>an opaque handle to a parser </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a5434a7c3b3165d782ea42c17d6ba9ac3"></a><!-- doxytag: member="yajl_parse.h::yajl_option" ref="a5434a7c3b3165d782ea42c17d6ba9ac3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">yajl_option</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>configuration parameters for the parser, these may be passed to <a class="el" href="yajl__parse_8h.html#aec816c5518264d2ac41c05469a0f986c">yajl_config()</a> along with option specific argument(s). In general, all configuration parameters default to *off*. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a5434a7c3b3165d782ea42c17d6ba9ac3a6661c8af3b5eb5c3223ed714722bc804"></a><!-- doxytag: member="yajl_allow_comments" ref="a5434a7c3b3165d782ea42c17d6ba9ac3a6661c8af3b5eb5c3223ed714722bc804" args="" -->yajl_allow_comments</em>&nbsp;</td><td>
+<p>Ignore javascript style comments present in JSON input. Non-standard, but rather fun arguments: toggled off with integer zero, on otherwise.</p>
+<p>example: yajl_config(h, yajl_allow_comments, 1); // turn comment support on </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a5434a7c3b3165d782ea42c17d6ba9ac3a205d6d8c11b8f1df450a11a48444b16f"></a><!-- doxytag: member="yajl_dont_validate_strings" ref="a5434a7c3b3165d782ea42c17d6ba9ac3a205d6d8c11b8f1df450a11a48444b16f" args="" -->yajl_dont_validate_strings</em>&nbsp;</td><td>
+<p>When set the parser will verify that all strings in JSON input are valid UTF8 and will emit a parse error if this is not so. When set, this option makes parsing slightly more expensive (~7% depending on processor and compiler in use)</p>
+<p>example: yajl_config(h, yajl_dont_validate_strings, 1); // disable utf8 checking </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a5434a7c3b3165d782ea42c17d6ba9ac3a505804d7beeebe98f70cdae3dcd738e3"></a><!-- doxytag: member="yajl_allow_trailing_garbage" ref="a5434a7c3b3165d782ea42c17d6ba9ac3a505804d7beeebe98f70cdae3dcd738e3" args="" -->yajl_allow_trailing_garbage</em>&nbsp;</td><td>
+<p>By default, upon calls to <a class="el" href="yajl__parse_8h.html#ae685c439cf5c6cac2116245827e63cdc">yajl_complete_parse()</a>, yajl will ensure the entire input text was consumed and will raise an error otherwise. Enabling this flag will cause yajl to disable this check. This can be useful when parsing json out of a that contains more than a single JSON document. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a5434a7c3b3165d782ea42c17d6ba9ac3a3bad28aa7785a922541706c4ec5f38aa"></a><!-- doxytag: member="yajl_allow_multiple_values" ref="a5434a7c3b3165d782ea42c17d6ba9ac3a3bad28aa7785a922541706c4ec5f38aa" args="" -->yajl_allow_multiple_values</em>&nbsp;</td><td>
+<p>Allow multiple values to be parsed by a single handle. The entire text must be valid JSON, and values can be seperated by any kind of whitespace. This flag will change the behavior of the parser, and cause it continue parsing after a value is parsed, rather than transitioning into a complete state. This option can be useful when parsing multiple values from an input stream. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a5434a7c3b3165d782ea42c17d6ba9ac3a6db18fdc747f3f3b481e85fdf1c9bdd5"></a><!-- doxytag: member="yajl_allow_partial_values" ref="a5434a7c3b3165d782ea42c17d6ba9ac3a6db18fdc747f3f3b481e85fdf1c9bdd5" args="" -->yajl_allow_partial_values</em>&nbsp;</td><td>
+<p>When <a class="el" href="yajl__parse_8h.html#ae685c439cf5c6cac2116245827e63cdc">yajl_complete_parse()</a> is called the parser will check that the top level value was completely consumed. I.E., if called whilst in the middle of parsing a value yajl will enter an error state (premature EOF). Setting this flag suppresses that check and the corresponding error. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a1d2bc7f4962c55436daaba61ffaf1f7d"></a><!-- doxytag: member="yajl_parse.h::yajl_status" ref="a1d2bc7f4962c55436daaba61ffaf1f7d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>error codes returned from this interface </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7"></a><!-- doxytag: member="yajl_status_ok" ref="a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7" args="" -->yajl_status_ok</em>&nbsp;</td><td>
+<p>no error was encountered </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a1d2bc7f4962c55436daaba61ffaf1f7da44d6b8f18ecb5e30be3eb5b2f1f5717e"></a><!-- doxytag: member="yajl_status_client_canceled" ref="a1d2bc7f4962c55436daaba61ffaf1f7da44d6b8f18ecb5e30be3eb5b2f1f5717e" args="" -->yajl_status_client_canceled</em>&nbsp;</td><td>
+<p>a client callback returned zero, stopping the parse </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a1d2bc7f4962c55436daaba61ffaf1f7daeea581fa9c967d34ad5f062ef59718fd"></a><!-- doxytag: member="yajl_status_error" ref="a1d2bc7f4962c55436daaba61ffaf1f7daeea581fa9c967d34ad5f062ef59718fd" args="" -->yajl_status_error</em>&nbsp;</td><td>
+<p>An error occured during the parse. Call yajl_get_error for more information about the encountered error </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ad91a06c5b72c4952be5ddf2ce4981113"></a><!-- doxytag: member="yajl_parse.h::yajl_alloc" ref="ad91a06c5b72c4952be5ddf2ce4981113" args="(const yajl_callbacks *callbacks, yajl_alloc_funcs *afs, void *ctx)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a> yajl_alloc </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structyajl__callbacks.html">yajl_callbacks</a> *&#160;</td>
+ <td class="paramname"><em>callbacks</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a> *&#160;</td>
+ <td class="paramname"><em>afs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>ctx</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>allocate a parser handle </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">callbacks</td><td>a yajl callbacks structure specifying the functions to call when different JSON entities are encountered in the input text. May be NULL, which is only useful for validation. </td></tr>
+ <tr><td class="paramname">afs</td><td>memory allocation functions, may be NULL for to use C runtime library routines (malloc and friends) </td></tr>
+ <tr><td class="paramname">ctx</td><td>a context pointer that will be passed to callbacks. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a15">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae685c439cf5c6cac2116245827e63cdc"></a><!-- doxytag: member="yajl_parse.h::yajl_complete_parse" ref="ae685c439cf5c6cac2116245827e63cdc" args="(yajl_handle hand)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a> yajl_complete_parse </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>&#160;</td>
+ <td class="paramname"><em>hand</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Parse any remaining buffered json. Since yajl is a stream-based parser, without an explicit end of input, yajl sometimes can't decide if content at the end of the stream is valid or not. For example, if "1" has been fed in, yajl can't know whether another digit is next or some character that would terminate the integer token.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">hand</td><td>- a handle to the json parser allocated with yajl_alloc </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a23">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="aec816c5518264d2ac41c05469a0f986c"></a><!-- doxytag: member="yajl_parse.h::yajl_config" ref="aec816c5518264d2ac41c05469a0f986c" args="(yajl_handle h, yajl_option opt,...)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API int yajl_config </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">yajl_option</a>&#160;</td>
+ <td class="paramname"><em>opt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>...</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>allow the modification of parser options subsequent to handle allocation (via yajl_alloc) </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>zero in case of errors, non-zero otherwise </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a16">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9fc930b29358ec1e04bda35d8b73422e"></a><!-- doxytag: member="yajl_parse.h::yajl_free" ref="a9fc930b29358ec1e04bda35d8b73422e" args="(yajl_handle handle)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API void yajl_free </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>&#160;</td>
+ <td class="paramname"><em>handle</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>free a parser handle </p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a27">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a12b6514e18f78fab0825b71465d511ea"></a><!-- doxytag: member="yajl_parse.h::yajl_free_error" ref="a12b6514e18f78fab0825b71465d511ea" args="(yajl_handle hand, unsigned char *str)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API void yajl_free_error </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned char *&#160;</td>
+ <td class="paramname"><em>str</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>free an error returned from yajl_get_error </p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a25">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a9e741f15830371db76defcf0e31a2de5"></a><!-- doxytag: member="yajl_parse.h::yajl_get_bytes_consumed" ref="a9e741f15830371db76defcf0e31a2de5" args="(yajl_handle hand)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API size_t yajl_get_bytes_consumed </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>&#160;</td>
+ <td class="paramname"><em>hand</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>get the amount of data consumed from the last chunk passed to YAJL.</p>
+<p>In the case of a successful parse this can help you understand if the entire buffer was consumed (which will allow you to handle "junk at end of input").</p>
+<p>In the event an error is encountered during parsing, this function affords the client a way to get the offset into the most recent chunk where the error occured. 0 will be returned if no error was encountered. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa325ebc911cccdc461f485f158aa077c"></a><!-- doxytag: member="yajl_parse.h::yajl_get_error" ref="aa325ebc911cccdc461f485f158aa077c" args="(yajl_handle hand, int verbose, const unsigned char *jsonText, size_t jsonTextLength)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API unsigned char* yajl_get_error </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>verbose</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const unsigned char *&#160;</td>
+ <td class="paramname"><em>jsonText</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>jsonTextLength</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>get an error string describing the state of the parse.</p>
+<p>If verbose is non-zero, the message will include the JSON text where the error occured, along with an arrow pointing to the specific char.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A dynamically allocated string will be returned which should be freed with yajl_free_error </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a24">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a78e7f63d84ce1d76170d1f539b2823fa"></a><!-- doxytag: member="yajl_parse.h::yajl_parse" ref="a78e7f63d84ce1d76170d1f539b2823fa" args="(yajl_handle hand, const unsigned char *jsonText, size_t jsonTextLength)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a> yajl_parse </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>&#160;</td>
+ <td class="paramname"><em>hand</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const unsigned char *&#160;</td>
+ <td class="paramname"><em>jsonText</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>jsonTextLength</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Parse some json! </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">hand</td><td>- a handle to the json parser allocated with yajl_alloc </td></tr>
+ <tr><td class="paramname">jsonText</td><td>- a pointer to the UTF8 json text to be parsed </td></tr>
+ <tr><td class="paramname">jsonTextLength</td><td>- the length, in bytes, of input text </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="reformatter_2json_reformat_8c-example.html#a19">reformatter/json_reformat.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="ae00bd26f1b98a1ed5c86a4480e7782aa"></a><!-- doxytag: member="yajl_parse.h::yajl_status_to_string" ref="ae00bd26f1b98a1ed5c86a4480e7782aa" args="(yajl_status code)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API const char* yajl_status_to_string </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a>&#160;</td>
+ <td class="paramname"><em>code</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>attain a human readable, english, string for an error </p>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/yajl__parse_8h_source.html b/yajl-2.0.0/yajl__parse_8h_source.html
new file mode 100644
index 0000000..8dfeaf3
--- /dev/null
+++ b/yajl-2.0.0/yajl__parse_8h_source.html
@@ -0,0 +1,141 @@
+<!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>YAJL: yajl_parse.h Source File</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+<div class="header">
+ <div class="headertitle">
+<div class="title">yajl_parse.h</div> </div>
+</div>
+<div class="contents">
+<a href="yajl__parse_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2007-2011, Lloyd Hilaiel &lt;lloyd@hilaiel.com&gt;</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any</span>
+<a name="l00005"></a>00005 <span class="comment"> * purpose with or without fee is hereby granted, provided that the above</span>
+<a name="l00006"></a>00006 <span class="comment"> * copyright notice and this permission notice appear in all copies.</span>
+<a name="l00007"></a>00007 <span class="comment"> *</span>
+<a name="l00008"></a>00008 <span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span>
+<a name="l00009"></a>00009 <span class="comment"> * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span>
+<a name="l00010"></a>00010 <span class="comment"> * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span>
+<a name="l00011"></a>00011 <span class="comment"> * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span>
+<a name="l00012"></a>00012 <span class="comment"> * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span>
+<a name="l00013"></a>00013 <span class="comment"> * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span>
+<a name="l00014"></a>00014 <span class="comment"> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;yajl/yajl_common.h&gt;</span>
+<a name="l00023"></a>00023
+<a name="l00024"></a>00024 <span class="preprocessor">#ifndef __YAJL_PARSE_H__</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define __YAJL_PARSE_H__</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;stddef.h&gt;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
+<a name="l00031"></a>00031 <span class="preprocessor">#endif</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span>
+<a name="l00033"></a><a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">00033</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00035"></a><a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7">00035</a> <a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da67a2a1b5d684de357adb0e1ea444ffd7">yajl_status_ok</a>,
+<a name="l00037"></a><a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da44d6b8f18ecb5e30be3eb5b2f1f5717e">00037</a> <a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7da44d6b8f18ecb5e30be3eb5b2f1f5717e">yajl_status_client_canceled</a>,
+<a name="l00040"></a><a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7daeea581fa9c967d34ad5f062ef59718fd">00040</a> <a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7daeea581fa9c967d34ad5f062ef59718fd">yajl_status_error</a>
+<a name="l00041"></a>00041 } <a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a>;
+<a name="l00042"></a>00042
+<a name="l00044"></a>00044 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="yajl__parse_8h.html#ae00bd26f1b98a1ed5c86a4480e7782aa">yajl_status_to_string</a>(<a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a> code);
+<a name="l00045"></a>00045
+<a name="l00047"></a><a class="code" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">00047</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>yajl_handle_t * <a class="code" href="yajl__parse_8h.html#acb85b92f3d7cb6f0743b4e68d0172323">yajl_handle</a>;
+<a name="l00048"></a>00048
+<a name="l00074"></a><a class="code" href="structyajl__callbacks.html">00074</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
+<a name="l00075"></a><a class="code" href="structyajl__callbacks.html#a119925fa35d01fd556faa502397a6eb8">00075</a> int (* yajl_null)(<span class="keywordtype">void</span> * ctx);
+<a name="l00076"></a><a class="code" href="structyajl__callbacks.html#a9e4e6a69c6e88dbb1db692cc51fdcb85">00076</a> int (* yajl_boolean)(<span class="keywordtype">void</span> * ctx, <span class="keywordtype">int</span> boolVal);
+<a name="l00077"></a><a class="code" href="structyajl__callbacks.html#a15a9e0bf944513d1030c316900fa85b4">00077</a> int (* yajl_integer)(<span class="keywordtype">void</span> * ctx, <span class="keywordtype">long</span> <span class="keywordtype">long</span> integerVal);
+<a name="l00078"></a><a class="code" href="structyajl__callbacks.html#a6e4b6fc64ddb2707950eb811304d1c46">00078</a> int (* yajl_double)(<span class="keywordtype">void</span> * ctx, <span class="keywordtype">double</span> doubleVal);
+<a name="l00081"></a><a class="code" href="structyajl__callbacks.html#aa7164c98b00d472a6162c3f8974f0beb">00081</a> int (* yajl_number)(<span class="keywordtype">void</span> * ctx, <span class="keyword">const</span> <span class="keywordtype">char</span> * numberVal,
+<a name="l00082"></a>00082 <span class="keywordtype">size_t</span> numberLen);
+<a name="l00083"></a>00083
+<a name="l00086"></a><a class="code" href="structyajl__callbacks.html#a53ee00516d0e5365bfb5746bdb699f14">00086</a> int (* yajl_string)(<span class="keywordtype">void</span> * ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * stringVal,
+<a name="l00087"></a>00087 <span class="keywordtype">size_t</span> stringLen);
+<a name="l00088"></a>00088
+<a name="l00089"></a><a class="code" href="structyajl__callbacks.html#a9da6fafbc2069780a02710778e61462e">00089</a> int (* yajl_start_map)(<span class="keywordtype">void</span> * ctx);
+<a name="l00090"></a><a class="code" href="structyajl__callbacks.html#a774f662e58584dfd0521a6213a118897">00090</a> int (* yajl_map_key)(<span class="keywordtype">void</span> * ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * key,
+<a name="l00091"></a>00091 <span class="keywordtype">size_t</span> stringLen);
+<a name="l00092"></a><a class="code" href="structyajl__callbacks.html#aff8abd4229027390adf59afcbb4e0f42">00092</a> int (* yajl_end_map)(<span class="keywordtype">void</span> * ctx);
+<a name="l00093"></a>00093
+<a name="l00094"></a><a class="code" href="structyajl__callbacks.html#aaf4cf875e2a6e1ab1a8af94d16f60083">00094</a> int (* yajl_start_array)(<span class="keywordtype">void</span> * ctx);
+<a name="l00095"></a><a class="code" href="structyajl__callbacks.html#a4671213ae60fed9bc885c38829362b0c">00095</a> int (* yajl_end_array)(<span class="keywordtype">void</span> * ctx);
+<a name="l00096"></a>00096 } <a class="code" href="structyajl__callbacks.html">yajl_callbacks</a>;
+<a name="l00097"></a>00097
+<a name="l00107"></a>00107 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> yajl_handle <a class="code" href="yajl__parse_8h.html#ad91a06c5b72c4952be5ddf2ce4981113">yajl_alloc</a>(<span class="keyword">const</span> <a class="code" href="structyajl__callbacks.html">yajl_callbacks</a> * callbacks,
+<a name="l00108"></a>00108 <a class="code" href="structyajl__alloc__funcs.html">yajl_alloc_funcs</a> * afs,
+<a name="l00109"></a>00109 <span class="keywordtype">void</span> * ctx);
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111
+<a name="l00115"></a><a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">00115</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00123"></a><a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6661c8af3b5eb5c3223ed714722bc804">00123</a> <a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6661c8af3b5eb5c3223ed714722bc804">yajl_allow_comments</a> = 0x01,
+<a name="l00133"></a><a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a205d6d8c11b8f1df450a11a48444b16f">00133</a> <a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a205d6d8c11b8f1df450a11a48444b16f">yajl_dont_validate_strings</a> = 0x02,
+<a name="l00141"></a><a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a505804d7beeebe98f70cdae3dcd738e3">00141</a> <a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a505804d7beeebe98f70cdae3dcd738e3">yajl_allow_trailing_garbage</a> = 0x04,
+<a name="l00151"></a><a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a3bad28aa7785a922541706c4ec5f38aa">00151</a> <a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a3bad28aa7785a922541706c4ec5f38aa">yajl_allow_multiple_values</a> = 0x08,
+<a name="l00159"></a><a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6db18fdc747f3f3b481e85fdf1c9bdd5">00159</a> <a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3a6db18fdc747f3f3b481e85fdf1c9bdd5">yajl_allow_partial_values</a> = 0x10
+<a name="l00160"></a>00160 } <a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">yajl_option</a>;
+<a name="l00161"></a>00161
+<a name="l00166"></a>00166 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">int</span> <a class="code" href="yajl__parse_8h.html#aec816c5518264d2ac41c05469a0f986c">yajl_config</a>(yajl_handle h, <a class="code" href="yajl__parse_8h.html#a5434a7c3b3165d782ea42c17d6ba9ac3">yajl_option</a> opt, ...);
+<a name="l00167"></a>00167
+<a name="l00169"></a>00169 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">void</span> <a class="code" href="yajl__parse_8h.html#a9fc930b29358ec1e04bda35d8b73422e">yajl_free</a>(yajl_handle handle);
+<a name="l00170"></a>00170
+<a name="l00176"></a>00176 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a> <a class="code" href="yajl__parse_8h.html#a78e7f63d84ce1d76170d1f539b2823fa">yajl_parse</a>(yajl_handle hand,
+<a name="l00177"></a>00177 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * jsonText,
+<a name="l00178"></a>00178 <span class="keywordtype">size_t</span> jsonTextLength);
+<a name="l00179"></a>00179
+<a name="l00189"></a>00189 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <a class="code" href="yajl__parse_8h.html#a1d2bc7f4962c55436daaba61ffaf1f7d">yajl_status</a> <a class="code" href="yajl__parse_8h.html#ae685c439cf5c6cac2116245827e63cdc">yajl_complete_parse</a>(yajl_handle hand);
+<a name="l00190"></a>00190
+<a name="l00201"></a>00201 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * <a class="code" href="yajl__parse_8h.html#aa325ebc911cccdc461f485f158aa077c">yajl_get_error</a>(yajl_handle hand, <span class="keywordtype">int</span> verbose,
+<a name="l00202"></a>00202 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * jsonText,
+<a name="l00203"></a>00203 <span class="keywordtype">size_t</span> jsonTextLength);
+<a name="l00204"></a>00204
+<a name="l00217"></a>00217 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">size_t</span> <a class="code" href="yajl__parse_8h.html#a9e741f15830371db76defcf0e31a2de5">yajl_get_bytes_consumed</a>(yajl_handle hand);
+<a name="l00218"></a>00218
+<a name="l00220"></a>00220 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">void</span> <a class="code" href="yajl__parse_8h.html#a12b6514e18f78fab0825b71465d511ea">yajl_free_error</a>(yajl_handle hand, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * str);
+<a name="l00221"></a>00221
+<a name="l00222"></a>00222 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00223"></a>00223 <span class="preprocessor"></span>}
+<a name="l00224"></a>00224 <span class="preprocessor">#endif</span>
+<a name="l00225"></a>00225 <span class="preprocessor"></span>
+<a name="l00226"></a>00226 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/yajl__tree_8h.html b/yajl-2.0.0/yajl__tree_8h.html
new file mode 100644
index 0000000..3518691
--- /dev/null
+++ b/yajl-2.0.0/yajl__tree_8h.html
@@ -0,0 +1,633 @@
+<!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>YAJL: yajl_tree.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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">yajl_tree.h File Reference</div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include &lt;yajl/yajl_common.h&gt;</code><br/>
+</div>
+<p><a href="yajl__tree_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structyajl__val__s.html">yajl_val_s</a></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a6b608d94afd51babb28475955c1654c2">YAJL_NUMBER_INT_VALID</a>&#160;&#160;&#160;0x01</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a7d4c94d04c85385a9650bde767a8311f">YAJL_NUMBER_DOUBLE_VALID</a>&#160;&#160;&#160;0x02</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a839db27ecbbb8d61a699cedbd932132e">YAJL_IS_STRING</a>(v)&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_string))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#ad1736311b9fac2b19c7726a9dbeb1b39">YAJL_IS_NUMBER</a>(v)&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_number))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a38d048c002ffeeb26afb1a85d4e66ab8">YAJL_IS_INTEGER</a>(v)&#160;&#160;&#160;(YAJL_IS_NUMBER(v) &amp;&amp; ((v)-&gt;u.flags &amp; YAJL_NUMBER_INT_VALID))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a2f5b941466aa6fd3b0b1dff5dbb242c2">YAJL_IS_DOUBLE</a>(v)&#160;&#160;&#160;(YAJL_IS_NUMBER(v) &amp;&amp; ((v)-&gt;u.flags &amp; YAJL_NUMBER_DOUBLE_VALID))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#addf75553e77877995e78e93644921833">YAJL_IS_OBJECT</a>(v)&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_object))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#addecd3327906b07a57fb12a67e5dc635">YAJL_IS_ARRAY</a>(v)&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_array ))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#ae330b2efd9dbe5746b0d5e6f20cda930">YAJL_IS_TRUE</a>(v)&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_true ))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a51bc6ecfe5df8a24e7a5c47cec94981b">YAJL_IS_FALSE</a>(v)&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_false ))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#aa7d4861ba8a7b71943d948368e02c3da">YAJL_IS_NULL</a>(v)&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_null ))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a2fe1773db524ee1efdad7eb97ce12c18">YAJL_GET_STRING</a>(v)&#160;&#160;&#160;(YAJL_IS_STRING(v) ? (v)-&gt;u.string : NULL)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#acfdffbd514aefd7a2921dbd18b0d8c2c">YAJL_GET_NUMBER</a>(v)&#160;&#160;&#160;((v)-&gt;u.number.r)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#aa3c2643d3f2b63376dce65fa25e96a93">YAJL_GET_DOUBLE</a>(v)&#160;&#160;&#160;((v)-&gt;u.number.d)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a69e47497b26e291bbe11d43d53b8b016">YAJL_GET_INTEGER</a>(v)&#160;&#160;&#160;((v)-&gt;u.number.i)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a8f25bc66f657ade894dd6aa0839726f1">YAJL_GET_OBJECT</a>(v)&#160;&#160;&#160;(YAJL_IS_OBJECT(v) ? &amp;(v)-&gt;u.object : NULL)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a4224514d7e9a5cd43acbe94de5ce9000">YAJL_GET_ARRAY</a>(v)&#160;&#160;&#160;(YAJL_IS_ARRAY(v) ? &amp;(v)-&gt;u.array : NULL)</td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structyajl__val__s.html">yajl_val_s</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#af4f7cb7f0a0f42f6f3d2d2563a4c171c">yajl_val</a></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a> { <br/>
+&#160;&#160;<a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65">yajl_t_string</a> = 1,
+<a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91abde225a86bb95920a5e1126990634571">yajl_t_number</a> = 2,
+<a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a033cfb2d466cd549f7cc51a9ba5992f2">yajl_t_object</a> = 3,
+<a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab04a6b795fc500d54a3e507571de200e">yajl_t_array</a> = 4,
+<br/>
+&#160;&#160;<a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a898367bbd0042414c0ba1a266e3a0423">yajl_t_true</a> = 5,
+<a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a7a517c35ce7754fb57b3e000676b10f9">yajl_t_false</a> = 6,
+<a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab1bde75d9a3a9f386fdd37262d8d9b25">yajl_t_null</a> = 7,
+<a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a9f219b51253c2cb0e278cc4ad55b211e">yajl_t_any</a> = 8
+<br/>
+ }</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="structyajl__val__s.html">yajl_val</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a6a04342e825859a3e9d52df93e9d112a">yajl_tree_parse</a> (const char *input, char *error_buffer, size_t error_buffer_size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a83b59f411e80404aad35ae7071c4ecf8">yajl_tree_free</a> (<a class="el" href="structyajl__val__s.html">yajl_val</a> v)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">YAJL_API <a class="el" href="structyajl__val__s.html">yajl_val</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="yajl__tree_8h.html#a534c427581fac81ee828c28367dbe90d">yajl_tree_get</a> (<a class="el" href="structyajl__val__s.html">yajl_val</a> parent, const char **path, <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a> type)</td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Parses JSON data and returns the data in tree form.</p>
+<dl class="author"><dt><b>Author:</b></dt><dd>Florian Forster </dd></dl>
+<dl class="date"><dt><b>Date:</b></dt><dd>August 2010</dd></dl>
+<p>This interface makes quick parsing and extraction of smallish JSON docs trivial:</p>
+<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 2011, Lloyd Hilaiel &lt;lloyd@hilaiel.com&gt;</span>
+<span class="comment"> *</span>
+<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any</span>
+<span class="comment"> * purpose with or without fee is hereby granted, provided that the above</span>
+<span class="comment"> * copyright notice and this permission notice appear in all copies.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span>
+<span class="comment"> * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span>
+<span class="comment"> * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span>
+<span class="comment"> * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span>
+<span class="comment"> * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span>
+<span class="comment"> * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span>
+<span class="comment"> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span>
+<span class="comment"> */</span>
+
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<span class="preprocessor">#include &lt;string.h&gt;</span>
+
+<span class="preprocessor">#include &quot;yajl/yajl_tree.h&quot;</span>
+
+<span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> fileData[65536];
+
+<span class="keywordtype">int</span>
+main(<span class="keywordtype">void</span>)
+{
+ <span class="keywordtype">size_t</span> rd;
+ yajl_val node;
+ <span class="keywordtype">char</span> errbuf[1024];
+
+ <span class="comment">/* null plug buffers */</span>
+ fileData[0] = errbuf[0] = 0;
+
+ <span class="comment">/* read the entire config file */</span>
+ rd = fread((<span class="keywordtype">void</span> *) fileData, 1, <span class="keyword">sizeof</span>(fileData) - 1, stdin);
+
+ <span class="comment">/* file read error handling */</span>
+ <span class="keywordflow">if</span> (rd == 0 &amp;&amp; !feof(stdin)) {
+ fprintf(stderr, <span class="stringliteral">&quot;error encountered on file read\n&quot;</span>);
+ <span class="keywordflow">return</span> 1;
+ } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rd &gt;= <span class="keyword">sizeof</span>(fileData) - 1) {
+ fprintf(stderr, <span class="stringliteral">&quot;config file too big\n&quot;</span>);
+ <span class="keywordflow">return</span> 1;
+ }
+
+ <span class="comment">/* we have the whole config file in memory. let&#39;s parse it ... */</span>
+ node = <a class="code" href="yajl__tree_8h.html#a6a04342e825859a3e9d52df93e9d112a">yajl_tree_parse</a>((<span class="keyword">const</span> <span class="keywordtype">char</span> *) fileData, errbuf, <span class="keyword">sizeof</span>(errbuf));
+
+ <span class="comment">/* parse error handling */</span>
+ <span class="keywordflow">if</span> (node == NULL) {
+ fprintf(stderr, <span class="stringliteral">&quot;parse_error: &quot;</span>);
+ <span class="keywordflow">if</span> (strlen(errbuf)) fprintf(stderr, <span class="stringliteral">&quot; %s&quot;</span>, errbuf);
+ <span class="keywordflow">else</span> fprintf(stderr, <span class="stringliteral">&quot;unknown error&quot;</span>);
+ fprintf(stderr, <span class="stringliteral">&quot;\n&quot;</span>);
+ <span class="keywordflow">return</span> 1;
+ }
+
+ <span class="comment">/* ... and extract a nested value from the config file */</span>
+ {
+ <span class="keyword">const</span> <span class="keywordtype">char</span> * path[] = { <span class="stringliteral">&quot;Logging&quot;</span>, <span class="stringliteral">&quot;timeFormat&quot;</span>, (<span class="keyword">const</span> <span class="keywordtype">char</span> *) 0 };
+ yajl_val v = <a class="code" href="yajl__tree_8h.html#a534c427581fac81ee828c28367dbe90d">yajl_tree_get</a>(node, path, <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65">yajl_t_string</a>);
+ <span class="keywordflow">if</span> (v) printf(<span class="stringliteral">&quot;%s/%s: %s\n&quot;</span>, path[0], path[1], <a class="code" href="yajl__tree_8h.html#a2fe1773db524ee1efdad7eb97ce12c18">YAJL_GET_STRING</a>(v));
+ <span class="keywordflow">else</span> printf(<span class="stringliteral">&quot;no such node: %s/%s\n&quot;</span>, path[0], path[1]);
+ }
+
+ <a class="code" href="yajl__tree_8h.html#a83b59f411e80404aad35ae7071c4ecf8">yajl_tree_free</a>(node);
+
+ <span class="keywordflow">return</span> 0;
+}
+</pre></div> </div><hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a4224514d7e9a5cd43acbe94de5ce9000"></a><!-- doxytag: member="yajl_tree.h::YAJL_GET_ARRAY" ref="a4224514d7e9a5cd43acbe94de5ce9000" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_GET_ARRAY</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(YAJL_IS_ARRAY(v) ? &amp;(v)-&gt;u.array : NULL)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get a pointer to a yajl_val_array or NULL if the value is not an object. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa3c2643d3f2b63376dce65fa25e96a93"></a><!-- doxytag: member="yajl_tree.h::YAJL_GET_DOUBLE" ref="aa3c2643d3f2b63376dce65fa25e96a93" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_GET_DOUBLE</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;((v)-&gt;u.number.d)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get the double representation of a number. You should check type first, perhaps using YAJL_IS_DOUBLE </p>
+
+</div>
+</div>
+<a class="anchor" id="a69e47497b26e291bbe11d43d53b8b016"></a><!-- doxytag: member="yajl_tree.h::YAJL_GET_INTEGER" ref="a69e47497b26e291bbe11d43d53b8b016" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_GET_INTEGER</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;((v)-&gt;u.number.i)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get the 64bit (long long) integer representation of a number. You should check type first, perhaps using YAJL_IS_INTEGER </p>
+
+</div>
+</div>
+<a class="anchor" id="acfdffbd514aefd7a2921dbd18b0d8c2c"></a><!-- doxytag: member="yajl_tree.h::YAJL_GET_NUMBER" ref="acfdffbd514aefd7a2921dbd18b0d8c2c" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_GET_NUMBER</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;((v)-&gt;u.number.r)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get the string representation of a number. You should check type first, perhaps using YAJL_IS_NUMBER </p>
+
+</div>
+</div>
+<a class="anchor" id="a8f25bc66f657ade894dd6aa0839726f1"></a><!-- doxytag: member="yajl_tree.h::YAJL_GET_OBJECT" ref="a8f25bc66f657ade894dd6aa0839726f1" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_GET_OBJECT</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(YAJL_IS_OBJECT(v) ? &amp;(v)-&gt;u.object : NULL)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Get a pointer to a yajl_val_object or NULL if the value is not an object. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2fe1773db524ee1efdad7eb97ce12c18"></a><!-- doxytag: member="yajl_tree.h::YAJL_GET_STRING" ref="a2fe1773db524ee1efdad7eb97ce12c18" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_GET_STRING</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(YAJL_IS_STRING(v) ? (v)-&gt;u.string : NULL)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Given a yajl_val_string return a ptr to the bare string it contains, or NULL if the value is not a string. </p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2parse_config_8c-example.html#a4">example/parse_config.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="addecd3327906b07a57fb12a67e5dc635"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_ARRAY" ref="addecd3327906b07a57fb12a67e5dc635" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_ARRAY</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_array ))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2f5b941466aa6fd3b0b1dff5dbb242c2"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_DOUBLE" ref="a2f5b941466aa6fd3b0b1dff5dbb242c2" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_DOUBLE</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(YAJL_IS_NUMBER(v) &amp;&amp; ((v)-&gt;u.flags &amp; YAJL_NUMBER_DOUBLE_VALID))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a51bc6ecfe5df8a24e7a5c47cec94981b"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_FALSE" ref="a51bc6ecfe5df8a24e7a5c47cec94981b" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_FALSE</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_false ))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a38d048c002ffeeb26afb1a85d4e66ab8"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_INTEGER" ref="a38d048c002ffeeb26afb1a85d4e66ab8" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_INTEGER</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(YAJL_IS_NUMBER(v) &amp;&amp; ((v)-&gt;u.flags &amp; YAJL_NUMBER_INT_VALID))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa7d4861ba8a7b71943d948368e02c3da"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_NULL" ref="aa7d4861ba8a7b71943d948368e02c3da" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_NULL</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_null ))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad1736311b9fac2b19c7726a9dbeb1b39"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_NUMBER" ref="ad1736311b9fac2b19c7726a9dbeb1b39" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_NUMBER</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_number))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="addf75553e77877995e78e93644921833"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_OBJECT" ref="addf75553e77877995e78e93644921833" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_OBJECT</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_object))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a839db27ecbbb8d61a699cedbd932132e"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_STRING" ref="a839db27ecbbb8d61a699cedbd932132e" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_STRING</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_string))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae330b2efd9dbe5746b0d5e6f20cda930"></a><!-- doxytag: member="yajl_tree.h::YAJL_IS_TRUE" ref="ae330b2efd9dbe5746b0d5e6f20cda930" args="(v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_IS_TRUE</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">v</td><td>)</td>
+ <td>&#160;&#160;&#160;(((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_true ))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7d4c94d04c85385a9650bde767a8311f"></a><!-- doxytag: member="yajl_tree.h::YAJL_NUMBER_DOUBLE_VALID" ref="a7d4c94d04c85385a9650bde767a8311f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_NUMBER_DOUBLE_VALID&#160;&#160;&#160;0x02</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6b608d94afd51babb28475955c1654c2"></a><!-- doxytag: member="yajl_tree.h::YAJL_NUMBER_INT_VALID" ref="a6b608d94afd51babb28475955c1654c2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define YAJL_NUMBER_INT_VALID&#160;&#160;&#160;0x01</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="af4f7cb7f0a0f42f6f3d2d2563a4c171c"></a><!-- doxytag: member="yajl_tree.h::yajl_val" ref="af4f7cb7f0a0f42f6f3d2d2563a4c171c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="structyajl__val__s.html">yajl_val_s</a>* <a class="el" href="structyajl__val__s.html">yajl_val</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>A pointer to a node in the parse tree </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91"></a><!-- doxytag: member="yajl_tree.h::yajl_type" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>possible data types that a <a class="el" href="structyajl__val__s.html">yajl_val_s</a> can hold </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65"></a><!-- doxytag: member="yajl_t_string" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65" args="" -->yajl_t_string</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91abde225a86bb95920a5e1126990634571"></a><!-- doxytag: member="yajl_t_number" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91abde225a86bb95920a5e1126990634571" args="" -->yajl_t_number</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91a033cfb2d466cd549f7cc51a9ba5992f2"></a><!-- doxytag: member="yajl_t_object" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91a033cfb2d466cd549f7cc51a9ba5992f2" args="" -->yajl_t_object</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91ab04a6b795fc500d54a3e507571de200e"></a><!-- doxytag: member="yajl_t_array" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91ab04a6b795fc500d54a3e507571de200e" args="" -->yajl_t_array</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91a898367bbd0042414c0ba1a266e3a0423"></a><!-- doxytag: member="yajl_t_true" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91a898367bbd0042414c0ba1a266e3a0423" args="" -->yajl_t_true</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91a7a517c35ce7754fb57b3e000676b10f9"></a><!-- doxytag: member="yajl_t_false" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91a7a517c35ce7754fb57b3e000676b10f9" args="" -->yajl_t_false</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91ab1bde75d9a3a9f386fdd37262d8d9b25"></a><!-- doxytag: member="yajl_t_null" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91ab1bde75d9a3a9f386fdd37262d8d9b25" args="" -->yajl_t_null</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ae95a1d5a195e8bd22a96f69cbf4e7c91a9f219b51253c2cb0e278cc4ad55b211e"></a><!-- doxytag: member="yajl_t_any" ref="ae95a1d5a195e8bd22a96f69cbf4e7c91a9f219b51253c2cb0e278cc4ad55b211e" args="" -->yajl_t_any</em>&nbsp;</td><td>
+<p>The any type isn't valid for <a class="el" href="structyajl__val__s.html#a5286ed2abc22873bc8c077097f7ea150">yajl_val_s.type</a>, but can be used as an argument to routines like <a class="el" href="yajl__tree_8h.html#a534c427581fac81ee828c28367dbe90d">yajl_tree_get()</a>. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a83b59f411e80404aad35ae7071c4ecf8"></a><!-- doxytag: member="yajl_tree.h::yajl_tree_free" ref="a83b59f411e80404aad35ae7071c4ecf8" args="(yajl_val v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API void yajl_tree_free </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structyajl__val__s.html">yajl_val</a>&#160;</td>
+ <td class="paramname"><em>v</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Free a parse tree returned by "yajl_tree_parse".</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">v</td><td>Pointer to a JSON value returned by "yajl_tree_parse". Passing NULL is valid and results in a no-op. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2parse_config_8c-example.html#a5">example/parse_config.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a534c427581fac81ee828c28367dbe90d"></a><!-- doxytag: member="yajl_tree.h::yajl_tree_get" ref="a534c427581fac81ee828c28367dbe90d" args="(yajl_val parent, const char **path, yajl_type type)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="structyajl__val__s.html">yajl_val</a> yajl_tree_get </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structyajl__val__s.html">yajl_val</a>&#160;</td>
+ <td class="paramname"><em>parent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>path</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a>&#160;</td>
+ <td class="paramname"><em>type</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Access a nested value inside a tree.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">parent</td><td>the node under which you'd like to extract values. </td></tr>
+ <tr><td class="paramname">path</td><td>A null terminated array of strings, each the name of an object key </td></tr>
+ <tr><td class="paramname">type</td><td>the yajl_type of the object you seek, or yajl_t_any if any will do.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the found value, or NULL if we came up empty.</dd></dl>
+<p>Future Ideas: it'd be nice to move path to a string and implement support for a teeny tiny micro language here, so you can extract array elements, do things like .first and .last, even .length. Inspiration from JSONPath and css selectors? No it wouldn't be fast, but that's not what this API is about. </p>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2parse_config_8c-example.html#a2">example/parse_config.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a6a04342e825859a3e9d52df93e9d112a"></a><!-- doxytag: member="yajl_tree.h::yajl_tree_parse" ref="a6a04342e825859a3e9d52df93e9d112a" args="(const char *input, char *error_buffer, size_t error_buffer_size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">YAJL_API <a class="el" href="structyajl__val__s.html">yajl_val</a> yajl_tree_parse </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>input</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>error_buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>error_buffer_size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Parse a string.</p>
+<p>Parses an null-terminated string containing JSON data and returns a pointer to the top-level value (root of the parse tree).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">input</td><td>Pointer to a null-terminated utf8 string containing JSON data. </td></tr>
+ <tr><td class="paramname">error_buffer</td><td>Pointer to a buffer in which an error message will be stored if <em>yajl_tree_parse</em> fails, or <code>NULL</code>. The buffer will be initialized before parsing, so its content will be destroyed even if <em>yajl_tree_parse</em> succeeds. </td></tr>
+ <tr><td class="paramname">error_buffer_size</td><td>Size of the memory area pointed to by <em>error_buffer_size</em>. If <em>error_buffer_size</em> is <code>NULL</code>, this argument is ignored.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the top-level value or <code>NULL</code> on error. The memory pointed to must be freed using <em>yajl_tree_free</em>. In case of an error, a null terminated message describing the error in more detail is stored in <em>error_buffer</em> if it is not <code>NULL</code>. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="example_2parse_config_8c-example.html#a1">example/parse_config.c</a>.</dd>
+</dl>
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>
diff --git a/yajl-2.0.0/yajl__tree_8h_source.html b/yajl-2.0.0/yajl__tree_8h_source.html
new file mode 100644
index 0000000..8ce58a7
--- /dev/null
+++ b/yajl-2.0.0/yajl__tree_8h_source.html
@@ -0,0 +1,140 @@
+<!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>YAJL: yajl_tree.h Source File</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.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">YAJL&#160;<span id="projectnumber">2.0.0</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <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><a href="examples.html"><span>Examples</span></a></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>
+<div class="header">
+ <div class="headertitle">
+<div class="title">yajl_tree.h</div> </div>
+</div>
+<div class="contents">
+<a href="yajl__tree_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2010-2011 Florian Forster &lt;ff at octo.it&gt;</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any</span>
+<a name="l00005"></a>00005 <span class="comment"> * purpose with or without fee is hereby granted, provided that the above</span>
+<a name="l00006"></a>00006 <span class="comment"> * copyright notice and this permission notice appear in all copies.</span>
+<a name="l00007"></a>00007 <span class="comment"> *</span>
+<a name="l00008"></a>00008 <span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span>
+<a name="l00009"></a>00009 <span class="comment"> * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span>
+<a name="l00010"></a>00010 <span class="comment"> * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span>
+<a name="l00011"></a>00011 <span class="comment"> * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span>
+<a name="l00012"></a>00012 <span class="comment"> * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span>
+<a name="l00013"></a>00013 <span class="comment"> * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span>
+<a name="l00014"></a>00014 <span class="comment"> * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00031"></a>00031 <span class="preprocessor">#ifndef YAJL_TREE_H</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define YAJL_TREE_H 1</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;yajl/yajl_common.h&gt;</span>
+<a name="l00035"></a>00035
+<a name="l00037"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">00037</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
+<a name="l00038"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65">00038</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a8e1c9361f16919197409a226dcad7c65">yajl_t_string</a> = 1,
+<a name="l00039"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91abde225a86bb95920a5e1126990634571">00039</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91abde225a86bb95920a5e1126990634571">yajl_t_number</a> = 2,
+<a name="l00040"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a033cfb2d466cd549f7cc51a9ba5992f2">00040</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a033cfb2d466cd549f7cc51a9ba5992f2">yajl_t_object</a> = 3,
+<a name="l00041"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab04a6b795fc500d54a3e507571de200e">00041</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab04a6b795fc500d54a3e507571de200e">yajl_t_array</a> = 4,
+<a name="l00042"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a898367bbd0042414c0ba1a266e3a0423">00042</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a898367bbd0042414c0ba1a266e3a0423">yajl_t_true</a> = 5,
+<a name="l00043"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a7a517c35ce7754fb57b3e000676b10f9">00043</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a7a517c35ce7754fb57b3e000676b10f9">yajl_t_false</a> = 6,
+<a name="l00044"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab1bde75d9a3a9f386fdd37262d8d9b25">00044</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91ab1bde75d9a3a9f386fdd37262d8d9b25">yajl_t_null</a> = 7,
+<a name="l00048"></a><a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a9f219b51253c2cb0e278cc4ad55b211e">00048</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91a9f219b51253c2cb0e278cc4ad55b211e">yajl_t_any</a> = 8
+<a name="l00049"></a>00049 } <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a>;
+<a name="l00050"></a>00050
+<a name="l00051"></a><a class="code" href="yajl__tree_8h.html#a6b608d94afd51babb28475955c1654c2">00051</a> <span class="preprocessor">#define YAJL_NUMBER_INT_VALID 0x01</span>
+<a name="l00052"></a><a class="code" href="yajl__tree_8h.html#a7d4c94d04c85385a9650bde767a8311f">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_NUMBER_DOUBLE_VALID 0x02</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00055"></a><a class="code" href="yajl__tree_8h.html#af4f7cb7f0a0f42f6f3d2d2563a4c171c">00055</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structyajl__val__s.html">yajl_val_s</a> * <a class="code" href="yajl__tree_8h.html#af4f7cb7f0a0f42f6f3d2d2563a4c171c">yajl_val</a>;
+<a name="l00056"></a>00056
+<a name="l00064"></a><a class="code" href="structyajl__val__s.html">00064</a> <span class="keyword">struct </span><a class="code" href="structyajl__val__s.html">yajl_val_s</a>
+<a name="l00065"></a>00065 {
+<a name="l00068"></a><a class="code" href="structyajl__val__s.html#a5286ed2abc22873bc8c077097f7ea150">00068</a> <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a> <a class="code" href="structyajl__val__s.html#a5286ed2abc22873bc8c077097f7ea150">type</a>;
+<a name="l00071"></a>00071 <span class="keyword">union</span>
+<a name="l00072"></a>00072 {
+<a name="l00073"></a><a class="code" href="structyajl__val__s.html#aac83572f6b853d5c7a795b55c0aae58a">00073</a> <span class="keywordtype">char</span> * <a class="code" href="structyajl__val__s.html#aac83572f6b853d5c7a795b55c0aae58a">string</a>;
+<a name="l00074"></a>00074 <span class="keyword">struct </span>{
+<a name="l00075"></a><a class="code" href="structyajl__val__s.html#a4be16e75b0cc50da2095f0173c131edb">00075</a> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="structyajl__val__s.html#a4be16e75b0cc50da2095f0173c131edb">i</a>; <span class="comment">/*&lt; integer value, if representable. */</span>
+<a name="l00076"></a><a class="code" href="structyajl__val__s.html#ac3fce696fa80f53d835d926e789dafe6">00076</a> <span class="keywordtype">double</span> <a class="code" href="structyajl__val__s.html#ac3fce696fa80f53d835d926e789dafe6">d</a>; <span class="comment">/*&lt; double value, if representable. */</span>
+<a name="l00080"></a><a class="code" href="structyajl__val__s.html#ad0ede299cce3bb4ff9f4555cfa29c6e9">00080</a> <span class="keywordtype">char</span> *<a class="code" href="structyajl__val__s.html#ad0ede299cce3bb4ff9f4555cfa29c6e9">r</a>; <span class="comment">/*&lt; unparsed number in string form. */</span>
+<a name="l00081"></a><a class="code" href="structyajl__val__s.html#a1f066a7d58a2dc4dbff1d74e6db159b5">00081</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structyajl__val__s.html#a1f066a7d58a2dc4dbff1d74e6db159b5">flags</a>;
+<a name="l00082"></a>00082 } <a class="code" href="structyajl__val__s.html#af077c25001c10628b08e0ed5aad8eba3">number</a>;
+<a name="l00083"></a>00083 <span class="keyword">struct </span>{
+<a name="l00084"></a><a class="code" href="structyajl__val__s.html#ac2b0cacd580b0bfb3382e76d886a4a41">00084</a> <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="structyajl__val__s.html#ac2b0cacd580b0bfb3382e76d886a4a41">keys</a>; <span class="comment">/*&lt; Array of keys */</span>
+<a name="l00085"></a><a class="code" href="structyajl__val__s.html#afd8c6ba1bdde6363a0ac365f11e072ec">00085</a> yajl_val *<a class="code" href="structyajl__val__s.html#afd8c6ba1bdde6363a0ac365f11e072ec">values</a>; <span class="comment">/*&lt; Array of values. */</span>
+<a name="l00086"></a><a class="code" href="structyajl__val__s.html#a11cc5c05f3753cd1a21e42c3e9cadb3a">00086</a> <span class="keywordtype">size_t</span> <a class="code" href="structyajl__val__s.html#a11cc5c05f3753cd1a21e42c3e9cadb3a">len</a>; <span class="comment">/*&lt; Number of key-value-pairs. */</span>
+<a name="l00087"></a>00087 } <a class="code" href="structyajl__val__s.html#a6506c62d205d0fce17b29396b5ed375d">object</a>;
+<a name="l00088"></a>00088 <span class="keyword">struct </span>{
+<a name="l00089"></a>00089 yajl_val *<a class="code" href="structyajl__val__s.html#afd8c6ba1bdde6363a0ac365f11e072ec">values</a>; <span class="comment">/*&lt; Array of elements. */</span>
+<a name="l00090"></a>00090 <span class="keywordtype">size_t</span> <a class="code" href="structyajl__val__s.html#a11cc5c05f3753cd1a21e42c3e9cadb3a">len</a>; <span class="comment">/*&lt; Number of elements. */</span>
+<a name="l00091"></a>00091 } <a class="code" href="structyajl__val__s.html#ae708d0b32d69717e29f84054b319478a">array</a>;
+<a name="l00092"></a>00092 } <a class="code" href="structyajl__val__s.html#a3ee44fca707c2b934083b5b77daf196a">u</a>;
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094
+<a name="l00117"></a>00117 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> yajl_val <a class="code" href="yajl__tree_8h.html#a6a04342e825859a3e9d52df93e9d112a">yajl_tree_parse</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *input,
+<a name="l00118"></a>00118 <span class="keywordtype">char</span> *error_buffer, <span class="keywordtype">size_t</span> error_buffer_size);
+<a name="l00119"></a>00119
+<a name="l00126"></a>00126 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> <span class="keywordtype">void</span> <a class="code" href="yajl__tree_8h.html#a83b59f411e80404aad35ae7071c4ecf8">yajl_tree_free</a> (yajl_val v);
+<a name="l00127"></a>00127
+<a name="l00142"></a>00142 <a class="code" href="yajl__common_8h.html#a112d9a9234313b4fa3d419c0723146c5">YAJL_API</a> yajl_val <a class="code" href="yajl__tree_8h.html#a534c427581fac81ee828c28367dbe90d">yajl_tree_get</a>(yajl_val parent, <span class="keyword">const</span> <span class="keywordtype">char</span> ** path, <a class="code" href="yajl__tree_8h.html#ae95a1d5a195e8bd22a96f69cbf4e7c91">yajl_type</a> type);
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="comment">/* Various convenience macros to check the type of a `yajl_val` */</span>
+<a name="l00145"></a><a class="code" href="yajl__tree_8h.html#a839db27ecbbb8d61a699cedbd932132e">00145</a> <span class="preprocessor">#define YAJL_IS_STRING(v) (((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_string))</span>
+<a name="l00146"></a><a class="code" href="yajl__tree_8h.html#ad1736311b9fac2b19c7726a9dbeb1b39">00146</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_IS_NUMBER(v) (((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_number))</span>
+<a name="l00147"></a><a class="code" href="yajl__tree_8h.html#a38d048c002ffeeb26afb1a85d4e66ab8">00147</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_IS_INTEGER(v) (YAJL_IS_NUMBER(v) &amp;&amp; ((v)-&gt;u.flags &amp; YAJL_NUMBER_INT_VALID))</span>
+<a name="l00148"></a><a class="code" href="yajl__tree_8h.html#a2f5b941466aa6fd3b0b1dff5dbb242c2">00148</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_IS_DOUBLE(v) (YAJL_IS_NUMBER(v) &amp;&amp; ((v)-&gt;u.flags &amp; YAJL_NUMBER_DOUBLE_VALID))</span>
+<a name="l00149"></a><a class="code" href="yajl__tree_8h.html#addf75553e77877995e78e93644921833">00149</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_IS_OBJECT(v) (((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_object))</span>
+<a name="l00150"></a><a class="code" href="yajl__tree_8h.html#addecd3327906b07a57fb12a67e5dc635">00150</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_IS_ARRAY(v) (((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_array ))</span>
+<a name="l00151"></a><a class="code" href="yajl__tree_8h.html#ae330b2efd9dbe5746b0d5e6f20cda930">00151</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_IS_TRUE(v) (((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_true ))</span>
+<a name="l00152"></a><a class="code" href="yajl__tree_8h.html#a51bc6ecfe5df8a24e7a5c47cec94981b">00152</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_IS_FALSE(v) (((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_false ))</span>
+<a name="l00153"></a><a class="code" href="yajl__tree_8h.html#aa7d4861ba8a7b71943d948368e02c3da">00153</a> <span class="preprocessor"></span><span class="preprocessor">#define YAJL_IS_NULL(v) (((v) != NULL) &amp;&amp; ((v)-&gt;type == yajl_t_null ))</span>
+<a name="l00154"></a>00154 <span class="preprocessor"></span>
+<a name="l00157"></a><a class="code" href="yajl__tree_8h.html#a2fe1773db524ee1efdad7eb97ce12c18">00157</a> <span class="preprocessor">#define YAJL_GET_STRING(v) (YAJL_IS_STRING(v) ? (v)-&gt;u.string : NULL)</span>
+<a name="l00158"></a>00158 <span class="preprocessor"></span>
+<a name="l00161"></a><a class="code" href="yajl__tree_8h.html#acfdffbd514aefd7a2921dbd18b0d8c2c">00161</a> <span class="preprocessor">#define YAJL_GET_NUMBER(v) ((v)-&gt;u.number.r)</span>
+<a name="l00162"></a>00162 <span class="preprocessor"></span>
+<a name="l00165"></a><a class="code" href="yajl__tree_8h.html#aa3c2643d3f2b63376dce65fa25e96a93">00165</a> <span class="preprocessor">#define YAJL_GET_DOUBLE(v) ((v)-&gt;u.number.d)</span>
+<a name="l00166"></a>00166 <span class="preprocessor"></span>
+<a name="l00169"></a><a class="code" href="yajl__tree_8h.html#a69e47497b26e291bbe11d43d53b8b016">00169</a> <span class="preprocessor">#define YAJL_GET_INTEGER(v) ((v)-&gt;u.number.i)</span>
+<a name="l00170"></a>00170 <span class="preprocessor"></span>
+<a name="l00172"></a><a class="code" href="yajl__tree_8h.html#a8f25bc66f657ade894dd6aa0839726f1">00172</a> <span class="preprocessor">#define YAJL_GET_OBJECT(v) (YAJL_IS_OBJECT(v) ? &amp;(v)-&gt;u.object : NULL)</span>
+<a name="l00173"></a>00173 <span class="preprocessor"></span>
+<a name="l00175"></a><a class="code" href="yajl__tree_8h.html#a4224514d7e9a5cd43acbe94de5ce9000">00175</a> <span class="preprocessor">#define YAJL_GET_ARRAY(v) (YAJL_IS_ARRAY(v) ? &amp;(v)-&gt;u.array : NULL)</span>
+<a name="l00176"></a>00176 <span class="preprocessor"></span>
+<a name="l00177"></a>00177 <span class="preprocessor">#endif </span><span class="comment">/* YAJL_TREE_H */</span>
+</pre></div></div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Mon Apr 25 2011 13:04:10 for YAJL by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>