Commit 445fc19214c060e588ab3002a9556f1fb69da083

Authored by Georg Hopp
1 parent 4882c95c

first documentation add

Showing 122 changed files with 12043 additions and 11 deletions
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Data Structures</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>Data Structures</h1>Here are the data structures with brief descriptions:<table>
  25 + <tr><td class="indexkey"><a class="el" href="structtAppConfig.html">tAppConfig</a></td><td class="indexvalue"></td></tr>
  26 + <tr><td class="indexkey"><a class="el" href="structtClient.html">tClient</a></td><td class="indexvalue"></td></tr>
  27 + <tr><td class="indexkey"><a class="el" href="structtHttpHeader.html">tHttpHeader</a></td><td class="indexvalue"></td></tr>
  28 + <tr><td class="indexkey"><a class="el" href="structtHttpHeaderLine.html">tHttpHeaderLine</a></td><td class="indexvalue"></td></tr>
  29 + <tr><td class="indexkey"><a class="el" href="structtHttpRequest.html">tHttpRequest</a></td><td class="indexvalue"></td></tr>
  30 + <tr><td class="indexkey"><a class="el" href="structtRequestLine.html">tRequestLine</a></td><td class="indexvalue"></td></tr>
  31 + <tr><td class="indexkey"><a class="el" href="structtServer.html">tServer</a></td><td class="indexvalue"></td></tr>
  32 +</table>
  33 +</div>
  34 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  35 +<a href="http://www.doxygen.org/index.html">
  36 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  37 +</body>
  38 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/appConfig.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/appConfig.h</h1><a href="appConfig_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __APP_CONFIG_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __APP_CONFIG_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a><a class="code" href="appConfig_8h.html#f77ed3e65a7b1a9341603d152a1404df">00004</a> <span class="preprocessor">#define MAXPENDING 10 </span><span class="comment">/* Maximum outstanding connection requests */</span>
  26 +<a name="l00005"></a><a class="code" href="appConfig_8h.html#ce5c08f66edfc6ae44edaeef6b6101b6">00005</a> <span class="preprocessor">#define MAXCLIENTS 1000 </span><span class="comment">/* Maximum connection handled in paralell */</span>
  27 +<a name="l00006"></a><a class="code" href="appConfig_8h.html#a0534241791f23ec8098503582406166">00006</a> <span class="preprocessor">#define READBUFSIZE 2048 </span><span class="comment">/* Size of receive buffer */</span>
  28 +<a name="l00007"></a><a class="code" href="appConfig_8h.html#3db4dba8d56385b62759b89c98cae447">00007</a> <span class="preprocessor">#define DEFAULTPORT 8801 </span><span class="comment">/* default port for service */</span>
  29 +<a name="l00008"></a><a class="code" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">00008</a> <span class="preprocessor">#define DEFAULTPATH "logfiles"</span>
  30 +<a name="l00009"></a><a class="code" href="appConfig_8h.html#9a98b2d0f973e357020c1274ec5b56c0">00009</a> <span class="preprocessor"></span><span class="preprocessor">#define LOGNAMEPATTERN "log-%Y-%m-%d_%Hh"</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor"></span>
  32 +<a name="l00011"></a>00011 <span class="preprocessor">#undef MAX</span>
  33 +<a name="l00012"></a><a class="code" href="appConfig_8h.html#acc3ee1a7f283f8ef65cea31f4436a95">00012</a> <span class="preprocessor"></span><span class="preprocessor">#define MAX(x,y) ((x) &gt; (y) ? (x) : (y))</span>
  34 +<a name="l00013"></a>00013 <span class="preprocessor"></span>
  35 +<a name="l00014"></a>00014 <span class="preprocessor">#undef MIN</span>
  36 +<a name="l00015"></a><a class="code" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">00015</a> <span class="preprocessor"></span><span class="preprocessor">#define MIN(x,y) ((x) &lt; (y) ? (x) : (y))</span>
  37 +<a name="l00016"></a>00016 <span class="preprocessor"></span>
  38 +<a name="l00017"></a><a class="code" href="structtAppConfig.html">00017</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
  39 +<a name="l00018"></a><a class="code" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">00018</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>;
  40 +<a name="l00019"></a><a class="code" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">00019</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> doDaemon;
  41 +<a name="l00020"></a><a class="code" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">00020</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxPending;
  42 +<a name="l00021"></a><a class="code" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">00021</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> port;
  43 +<a name="l00022"></a><a class="code" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">00022</a> <span class="keywordtype">char</span> logPath[513];
  44 +<a name="l00023"></a><a class="code" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">00023</a> <span class="keywordtype">char</span> namePat[513];
  45 +<a name="l00024"></a>00024 } <a class="code" href="structtAppConfig.html">tAppConfig</a>;
  46 +<a name="l00025"></a>00025
  47 +<a name="l00026"></a>00026 <span class="keywordtype">int</span>
  48 +<a name="l00027"></a>00027 <a class="code" href="appConfig_8h.html#3755d793d10d6e5793ed5086a0b22964">handleCmdLine</a>(<a class="code" href="structtAppConfig.html">tAppConfig</a> * config, <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]);
  49 +<a name="l00028"></a>00028
  50 +<a name="l00029"></a>00029 <span class="preprocessor">#endif // __APP_CONFIG_H__</span>
  51 +</pre></div></div>
  52 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  53 +<a href="http://www.doxygen.org/index.html">
  54 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  55 +</body>
  56 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/appConfig.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/appConfig.h File Reference</h1>
  25 +<p>
  26 +<a href="appConfig_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html">tAppConfig</a></td></tr>
  30 +
  31 +<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  32 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#f77ed3e65a7b1a9341603d152a1404df">MAXPENDING</a>&nbsp;&nbsp;&nbsp;10</td></tr>
  33 +
  34 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#ce5c08f66edfc6ae44edaeef6b6101b6">MAXCLIENTS</a>&nbsp;&nbsp;&nbsp;1000</td></tr>
  35 +
  36 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>&nbsp;&nbsp;&nbsp;2048</td></tr>
  37 +
  38 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#3db4dba8d56385b62759b89c98cae447">DEFAULTPORT</a>&nbsp;&nbsp;&nbsp;8801</td></tr>
  39 +
  40 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">DEFAULTPATH</a>&nbsp;&nbsp;&nbsp;&quot;logfiles&quot;</td></tr>
  41 +
  42 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#9a98b2d0f973e357020c1274ec5b56c0">LOGNAMEPATTERN</a>&nbsp;&nbsp;&nbsp;&quot;log-%Y-%m-%d_%Hh&quot;</td></tr>
  43 +
  44 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#acc3ee1a7f283f8ef65cea31f4436a95">MAX</a>(x, y)&nbsp;&nbsp;&nbsp;((x) &gt; (y) ? (x) : (y))</td></tr>
  45 +
  46 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">MIN</a>(x, y)&nbsp;&nbsp;&nbsp;((x) &lt; (y) ? (x) : (y))</td></tr>
  47 +
  48 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  49 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="appConfig_8h.html#3755d793d10d6e5793ed5086a0b22964">handleCmdLine</a> (<a class="el" href="structtAppConfig.html">tAppConfig</a> *config, int argc, char *argv[])</td></tr>
  50 +
  51 +</table>
  52 +<hr><h2>Define Documentation</h2>
  53 +<a class="anchor" name="0672e2d34f3bbe2f6cdad6f307b9d1cf"></a><!-- doxytag: member="appConfig.h::DEFAULTPATH" ref="0672e2d34f3bbe2f6cdad6f307b9d1cf" args="" -->
  54 +<div class="memitem">
  55 +<div class="memproto">
  56 + <table class="memname">
  57 + <tr>
  58 + <td class="memname">#define DEFAULTPATH&nbsp;&nbsp;&nbsp;&quot;logfiles&quot; </td>
  59 + </tr>
  60 + </table>
  61 +</div>
  62 +<div class="memdoc">
  63 +
  64 +<p>
  65 +
  66 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00008">8</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  67 +
  68 +</div>
  69 +</div><p>
  70 +<a class="anchor" name="3db4dba8d56385b62759b89c98cae447"></a><!-- doxytag: member="appConfig.h::DEFAULTPORT" ref="3db4dba8d56385b62759b89c98cae447" args="" -->
  71 +<div class="memitem">
  72 +<div class="memproto">
  73 + <table class="memname">
  74 + <tr>
  75 + <td class="memname">#define DEFAULTPORT&nbsp;&nbsp;&nbsp;8801 </td>
  76 + </tr>
  77 + </table>
  78 +</div>
  79 +<div class="memdoc">
  80 +
  81 +<p>
  82 +
  83 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00007">7</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  84 +
  85 +</div>
  86 +</div><p>
  87 +<a class="anchor" name="9a98b2d0f973e357020c1274ec5b56c0"></a><!-- doxytag: member="appConfig.h::LOGNAMEPATTERN" ref="9a98b2d0f973e357020c1274ec5b56c0" args="" -->
  88 +<div class="memitem">
  89 +<div class="memproto">
  90 + <table class="memname">
  91 + <tr>
  92 + <td class="memname">#define LOGNAMEPATTERN&nbsp;&nbsp;&nbsp;&quot;log-%Y-%m-%d_%Hh&quot; </td>
  93 + </tr>
  94 + </table>
  95 +</div>
  96 +<div class="memdoc">
  97 +
  98 +<p>
  99 +
  100 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00009">9</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  101 +
  102 +</div>
  103 +</div><p>
  104 +<a class="anchor" name="acc3ee1a7f283f8ef65cea31f4436a95"></a><!-- doxytag: member="appConfig.h::MAX" ref="acc3ee1a7f283f8ef65cea31f4436a95" args="(x, y)" -->
  105 +<div class="memitem">
  106 +<div class="memproto">
  107 + <table class="memname">
  108 + <tr>
  109 + <td class="memname">#define MAX </td>
  110 + <td>(</td>
  111 + <td class="paramtype">x, <tr>
  112 + <td class="paramkey"></td>
  113 + <td></td>
  114 + <td class="paramtype">y&nbsp;</td>
  115 + <td class="paramname"> </td>
  116 + <td>&nbsp;)&nbsp;</td>
  117 + <td>&nbsp;&nbsp;&nbsp;((x) &gt; (y) ? (x) : (y))</td>
  118 + </tr>
  119 + </table>
  120 +</div>
  121 +<div class="memdoc">
  122 +
  123 +<p>
  124 +
  125 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00012">12</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  126 +
  127 +</div>
  128 +</div><p>
  129 +<a class="anchor" name="ce5c08f66edfc6ae44edaeef6b6101b6"></a><!-- doxytag: member="appConfig.h::MAXCLIENTS" ref="ce5c08f66edfc6ae44edaeef6b6101b6" args="" -->
  130 +<div class="memitem">
  131 +<div class="memproto">
  132 + <table class="memname">
  133 + <tr>
  134 + <td class="memname">#define MAXCLIENTS&nbsp;&nbsp;&nbsp;1000 </td>
  135 + </tr>
  136 + </table>
  137 +</div>
  138 +<div class="memdoc">
  139 +
  140 +<p>
  141 +
  142 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00005">5</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  143 +
  144 +</div>
  145 +</div><p>
  146 +<a class="anchor" name="f77ed3e65a7b1a9341603d152a1404df"></a><!-- doxytag: member="appConfig.h::MAXPENDING" ref="f77ed3e65a7b1a9341603d152a1404df" args="" -->
  147 +<div class="memitem">
  148 +<div class="memproto">
  149 + <table class="memname">
  150 + <tr>
  151 + <td class="memname">#define MAXPENDING&nbsp;&nbsp;&nbsp;10 </td>
  152 + </tr>
  153 + </table>
  154 +</div>
  155 +<div class="memdoc">
  156 +
  157 +<p>
  158 +
  159 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00004">4</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  160 +
  161 +</div>
  162 +</div><p>
  163 +<a class="anchor" name="74e75242132eaabbc1c512488a135926"></a><!-- doxytag: member="appConfig.h::MIN" ref="74e75242132eaabbc1c512488a135926" args="(x, y)" -->
  164 +<div class="memitem">
  165 +<div class="memproto">
  166 + <table class="memname">
  167 + <tr>
  168 + <td class="memname">#define MIN </td>
  169 + <td>(</td>
  170 + <td class="paramtype">x, <tr>
  171 + <td class="paramkey"></td>
  172 + <td></td>
  173 + <td class="paramtype">y&nbsp;</td>
  174 + <td class="paramname"> </td>
  175 + <td>&nbsp;)&nbsp;</td>
  176 + <td>&nbsp;&nbsp;&nbsp;((x) &lt; (y) ? (x) : (y))</td>
  177 + </tr>
  178 + </table>
  179 +</div>
  180 +<div class="memdoc">
  181 +
  182 +<p>
  183 +
  184 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00015">15</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  185 +
  186 +</div>
  187 +</div><p>
  188 +<a class="anchor" name="a0534241791f23ec8098503582406166"></a><!-- doxytag: member="appConfig.h::READBUFSIZE" ref="a0534241791f23ec8098503582406166" args="" -->
  189 +<div class="memitem">
  190 +<div class="memproto">
  191 + <table class="memname">
  192 + <tr>
  193 + <td class="memname">#define READBUFSIZE&nbsp;&nbsp;&nbsp;2048 </td>
  194 + </tr>
  195 + </table>
  196 +</div>
  197 +<div class="memdoc">
  198 +
  199 +<p>
  200 +
  201 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00006">6</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  202 +
  203 +</div>
  204 +</div><p>
  205 +<hr><h2>Function Documentation</h2>
  206 +<a class="anchor" name="3755d793d10d6e5793ed5086a0b22964"></a><!-- doxytag: member="appConfig.h::handleCmdLine" ref="3755d793d10d6e5793ed5086a0b22964" args="(tAppConfig *config, int argc, char *argv[])" -->
  207 +<div class="memitem">
  208 +<div class="memproto">
  209 + <table class="memname">
  210 + <tr>
  211 + <td class="memname">int handleCmdLine </td>
  212 + <td>(</td>
  213 + <td class="paramtype"><a class="el" href="structtAppConfig.html">tAppConfig</a> *&nbsp;</td>
  214 + <td class="paramname"> <em>config</em>, </td>
  215 + </tr>
  216 + <tr>
  217 + <td class="paramkey"></td>
  218 + <td></td>
  219 + <td class="paramtype">int&nbsp;</td>
  220 + <td class="paramname"> <em>argc</em>, </td>
  221 + </tr>
  222 + <tr>
  223 + <td class="paramkey"></td>
  224 + <td></td>
  225 + <td class="paramtype">char *&nbsp;</td>
  226 + <td class="paramname"> <em>argv</em>[]</td><td>&nbsp;</td>
  227 + </tr>
  228 + <tr>
  229 + <td></td>
  230 + <td>)</td>
  231 + <td></td><td></td><td></td>
  232 + </tr>
  233 + </table>
  234 +</div>
  235 +<div class="memdoc">
  236 +
  237 +<p>
  238 +
  239 +<p>Definition at line <a class="el" href="handleCmdLine_8c-source.html#l00010">10</a> of file <a class="el" href="handleCmdLine_8c-source.html">handleCmdLine.c</a>.</p>
  240 +
  241 +</div>
  242 +</div><p>
  243 +</div>
  244 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  245 +<a href="http://www.doxygen.org/index.html">
  246 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  247 +</body>
  248 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Alphabetical List</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>Data Structure Index</h1><p><div class="qindex"><a class="qindex" href="#letter_T">T</a></div><p>
  25 +<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
  26 +<tr><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
  27 +</td><td><a class="el" href="structtClient.html">tClient</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structtHttpHeaderLine.html">tHttpHeaderLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structtRequestLine.html">tRequestLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structtServer.html">tServer</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structtAppConfig.html">tAppConfig</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structtHttpHeader.html">tHttpHeader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structtHttpRequest.html">tHttpRequest</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_T">T</a></div><p>
  28 +</div>
  29 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  30 +<a href="http://www.doxygen.org/index.html">
  31 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  32 +</body>
  33 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: reader/commonReader/clientClose.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>reader/commonReader/clientClose.c</h1><a href="clientClose_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for free() */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for close() */</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span> <span class="comment">/* for shutdown() */</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;expat.h&gt;</span>
  28 +<a name="l00007"></a>00007
  29 +<a name="l00008"></a>00008 <span class="preprocessor">#include "../../include/client.h"</span>
  30 +<a name="l00009"></a>00009 <span class="preprocessor">#include "../../include/monitor.h"</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor">#include "../../include/httpRequest.h"</span>
  32 +<a name="l00011"></a>00011
  33 +<a name="l00012"></a><a class="code" href="clientClose_8c.html#a9dad65338aa78062b23a924ae1d2b59">00012</a> <span class="keywordtype">void</span> <a class="code" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a>(<a class="code" href="structtClient.html">tClient</a> * client)
  34 +<a name="l00013"></a>00013 {
  35 +<a name="l00014"></a>00014 <span class="keywordflow">if</span> (0 != <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>) {
  36 +<a name="l00015"></a>00015 syslog(LOG_INFO, <span class="stringliteral">"closing socket for %s"</span>, client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>);
  37 +<a name="l00016"></a>00016 }
  38 +<a name="l00017"></a>00017
  39 +<a name="l00018"></a>00018 <span class="comment">/* close socket an remove from fd_set */</span>
  40 +<a name="l00019"></a>00019 shutdown(client-&gt;<a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a>, SHUT_RDWR);
  41 +<a name="l00020"></a>00020 close(client-&gt;<a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a>);
  42 +<a name="l00021"></a>00021
  43 +<a name="l00022"></a>00022 <span class="comment">/* free readBuffer */</span>
  44 +<a name="l00023"></a>00023 <span class="keywordflow">if</span> (NULL != client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>) {
  45 +<a name="l00024"></a>00024 free(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>);
  46 +<a name="l00025"></a>00025 client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> = NULL;
  47 +<a name="l00026"></a>00026 }
  48 +<a name="l00027"></a>00027 <span class="keywordflow">if</span> (NULL != client-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>) {
  49 +<a name="l00028"></a>00028 free(client-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>);
  50 +<a name="l00029"></a>00029 client-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> = NULL;
  51 +<a name="l00030"></a>00030 }
  52 +<a name="l00031"></a>00031 client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> = 0;
  53 +<a name="l00032"></a>00032 client-&gt;<a class="code" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">writePos</a> = 0;
  54 +<a name="l00033"></a>00033
  55 +<a name="l00034"></a>00034 <a class="code" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">freeHttpHeader</a>(&amp;(client-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>));
  56 +<a name="l00035"></a>00035
  57 +<a name="l00036"></a>00036 XML_ParserFree(client-&gt;<a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a>);
  58 +<a name="l00037"></a>00037
  59 +<a name="l00038"></a>00038 memset(client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>, 0, 16);
  60 +<a name="l00039"></a>00039 }
  61 +</pre></div></div>
  62 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  63 +<a href="http://www.doxygen.org/index.html">
  64 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  65 +</body>
  66 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: reader/commonReader/clientClose.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>reader/commonReader/clientClose.c File Reference</h1><code>#include &lt;stdlib.h&gt;</code><br>
  25 +<code>#include &lt;unistd.h&gt;</code><br>
  26 +<code>#include &lt;sys/socket.h&gt;</code><br>
  27 +<code>#include &lt;string.h&gt;</code><br>
  28 +<code>#include &lt;expat.h&gt;</code><br>
  29 +<code>#include &quot;<a class="el" href="client_8h-source.html">../../include/client.h</a>&quot;</code><br>
  30 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../../include/monitor.h</a>&quot;</code><br>
  31 +<code>#include &quot;<a class="el" href="httpRequest_8h-source.html">../../include/httpRequest.h</a>&quot;</code><br>
  32 +
  33 +<p>
  34 +<a href="clientClose_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  35 +<tr><td></td></tr>
  36 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  37 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clientClose_8c.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a> (<a class="el" href="structtClient.html">tClient</a> *client)</td></tr>
  38 +
  39 +</table>
  40 +<hr><h2>Function Documentation</h2>
  41 +<a class="anchor" name="a9dad65338aa78062b23a924ae1d2b59"></a><!-- doxytag: member="clientClose.c::clientClose" ref="a9dad65338aa78062b23a924ae1d2b59" args="(tClient *client)" -->
  42 +<div class="memitem">
  43 +<div class="memproto">
  44 + <table class="memname">
  45 + <tr>
  46 + <td class="memname">void clientClose </td>
  47 + <td>(</td>
  48 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  49 + <td class="paramname"> <em>client</em> </td>
  50 + <td>&nbsp;)&nbsp;</td>
  51 + <td></td>
  52 + </tr>
  53 + </table>
  54 +</div>
  55 +<div class="memdoc">
  56 +
  57 +<p>
  58 +
  59 +<p>Definition at line <a class="el" href="clientClose_8c-source.html#l00012">12</a> of file <a class="el" href="clientClose_8c-source.html">clientClose.c</a>.</p>
  60 +
  61 +</div>
  62 +</div><p>
  63 +</div>
  64 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  65 +<a href="http://www.doxygen.org/index.html">
  66 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  67 +</body>
  68 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: reader/commonReader/clientRead.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>reader/commonReader/clientRead.c</h1><a href="clientRead_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for getopt */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for exit */</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;errno.h&gt;</span> <span class="comment">/* for errno */</span>
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include "../../include/client.h"</span>
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include "../../include/monitor.h"</span>
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a><a class="code" href="clientRead_8c.html#3baabeba3e06eb1b8761363a58f8391b">00009</a> <span class="preprocessor">#define GET_MULTIPLIER(size) (((size) - 1) / READBUFSIZE + 1)</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor"></span>
  32 +<a name="l00011"></a>00011 <span class="keyword">static</span> <span class="keywordtype">int</span>
  33 +<a name="l00012"></a>00012 _clientReallocBuffer(<a class="code" href="structtClient.html">tClient</a> * client, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> newSize)
  34 +<a name="l00013"></a>00013 {
  35 +<a name="l00014"></a>00014 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> newMult = <a class="code" href="clientRead_8c.html#3baabeba3e06eb1b8761363a58f8391b">GET_MULTIPLIER</a>(newSize);
  36 +<a name="l00015"></a>00015
  37 +<a name="l00016"></a>00016 <span class="keywordflow">if</span> (<a class="code" href="client_8h.html#eefa2efc8515c7f8334de344e8a07fbf">CLIENTMULTMAX</a> &lt; newMult) {
  38 +<a name="l00017"></a>00017 <span class="comment">/* line exceeds maximum line length */</span>
  39 +<a name="l00018"></a>00018 <span class="keywordflow">return</span> 0;
  40 +<a name="l00019"></a>00019 }
  41 +<a name="l00020"></a>00020
  42 +<a name="l00021"></a>00021 <span class="keywordflow">if</span> (client-&gt;<a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a> &lt; newMult) {
  43 +<a name="l00022"></a>00022
  44 +<a name="l00023"></a>00023 <span class="keywordtype">char</span> * newBuffer = calloc(newMult * <a class="code" href="appConfig_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  45 +<a name="l00024"></a>00024
  46 +<a name="l00025"></a>00025 <span class="keywordflow">if</span> (NULL == newBuffer) {
  47 +<a name="l00026"></a>00026 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">MON_CRITICAL</a>, <span class="stringliteral">"calloc"</span>,
  48 +<a name="l00027"></a>00027 <span class="stringliteral">"calloc for readbuffer[%s] failed"</span>,
  49 +<a name="l00028"></a>00028 client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>);
  50 +<a name="l00029"></a>00029
  51 +<a name="l00030"></a>00030 exit(EXIT_FAILURE);
  52 +<a name="l00031"></a>00031 }
  53 +<a name="l00032"></a>00032
  54 +<a name="l00033"></a>00033 <span class="keywordflow">if</span> (NULL != client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>) {
  55 +<a name="l00034"></a>00034 memcpy(newBuffer, client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>);
  56 +<a name="l00035"></a>00035 free(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>);
  57 +<a name="l00036"></a>00036
  58 +<a name="l00037"></a>00037 client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> = newBuffer;
  59 +<a name="l00038"></a>00038 client-&gt;<a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a> = newMult;
  60 +<a name="l00039"></a>00039 } <span class="keywordflow">else</span> {
  61 +<a name="l00040"></a>00040 <span class="comment">/*</span>
  62 +<a name="l00041"></a>00041 <span class="comment"> * we can't get the resized buffer so return the</span>
  63 +<a name="l00042"></a>00042 <span class="comment"> * old multiplier</span>
  64 +<a name="l00043"></a>00043 <span class="comment"> */</span>
  65 +<a name="l00044"></a>00044 newMult = client-&gt;<a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a>;
  66 +<a name="l00045"></a>00045 }
  67 +<a name="l00046"></a>00046
  68 +<a name="l00047"></a>00047 }
  69 +<a name="l00048"></a>00048
  70 +<a name="l00049"></a>00049 <span class="keywordflow">return</span> newMult;
  71 +<a name="l00050"></a>00050 }
  72 +<a name="l00051"></a>00051
  73 +<a name="l00052"></a>00052 <span class="keywordtype">int</span>
  74 +<a name="l00053"></a><a class="code" href="clientRead_8c.html#6504ff36553f8008b9ee1d52aa977740">00053</a> <a class="code" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">clientRead</a>(<a class="code" href="structtClient.html">tClient</a> * client)
  75 +<a name="l00054"></a>00054 {
  76 +<a name="l00055"></a>00055 <span class="keywordtype">int</span> readSize;
  77 +<a name="l00056"></a>00056 <span class="keywordtype">char</span> readBuf[<a class="code" href="appConfig_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>];
  78 +<a name="l00057"></a>00057
  79 +<a name="l00058"></a>00058 <span class="comment">/*</span>
  80 +<a name="l00059"></a>00059 <span class="comment"> * initialize values // read data from socket</span>
  81 +<a name="l00060"></a>00060 <span class="comment"> */</span>
  82 +<a name="l00061"></a>00061 memset(readBuf, 0, <a class="code" href="appConfig_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>);
  83 +<a name="l00062"></a>00062 readSize = read(client-&gt;<a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a>, readBuf, <a class="code" href="appConfig_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>);
  84 +<a name="l00063"></a>00063
  85 +<a name="l00064"></a>00064 <span class="keywordflow">switch</span> (readSize) {
  86 +<a name="l00065"></a>00065 <span class="keywordflow">case</span> -1:
  87 +<a name="l00066"></a>00066 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_WARNING, <a class="code" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">MON_WARNING</a>, <span class="stringliteral">"socket.read"</span>,
  88 +<a name="l00067"></a>00067 <span class="stringliteral">"read returns -1 for client[%s]: %s - connection closed"</span>,
  89 +<a name="l00068"></a>00068 client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>, strerror(errno));
  90 +<a name="l00069"></a>00069 <span class="keywordflow">break</span>;
  91 +<a name="l00070"></a>00070
  92 +<a name="l00071"></a>00071 <span class="keywordflow">case</span> 0:
  93 +<a name="l00072"></a>00072 <span class="keywordflow">break</span>;
  94 +<a name="l00073"></a>00073
  95 +<a name="l00074"></a>00074 <span class="keywordflow">default</span>:
  96 +<a name="l00075"></a>00075 <span class="keywordflow">if</span> (!_clientReallocBuffer(client, client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> + readSize)) {
  97 +<a name="l00076"></a>00076 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_WARNING, <a class="code" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">MON_WARNING</a>, <span class="stringliteral">"data.longline"</span>,
  98 +<a name="l00077"></a>00077 <span class="stringliteral">"got to long line from client[%s] - connection closed"</span>,
  99 +<a name="l00078"></a>00078 client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>);
  100 +<a name="l00079"></a>00079
  101 +<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="client_8h.html#f150df8f008146f177d67862d2569834">READ_ERR_LONGLINE</a>;
  102 +<a name="l00081"></a>00081 }
  103 +<a name="l00082"></a>00082
  104 +<a name="l00083"></a>00083 <span class="keywordflow">if</span> (client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> +readSize &gt; client-&gt;<a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a> *<a class="code" href="appConfig_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>) {
  105 +<a name="l00084"></a>00084 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_WARNING, <a class="code" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">MON_WARNING</a>, <span class="stringliteral">"data.longline"</span>,
  106 +<a name="l00085"></a>00085 <span class="stringliteral">"can't allocate enough memory for read on client[%s]"</span>
  107 +<a name="l00086"></a>00086 <span class="stringliteral">" - connection closed"</span>,
  108 +<a name="l00087"></a>00087 client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>);
  109 +<a name="l00088"></a>00088
  110 +<a name="l00089"></a>00089 <span class="keywordflow">return</span> <a class="code" href="client_8h.html#4f090ce41ed48b83e309d8fce71db4ab">READ_ERR_MEMORY</a>;
  111 +<a name="l00090"></a>00090 }
  112 +<a name="l00091"></a>00091
  113 +<a name="l00092"></a>00092 memcpy(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>+client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>, readBuf, readSize);
  114 +<a name="l00093"></a>00093 client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> += readSize;
  115 +<a name="l00094"></a>00094 <span class="keywordflow">break</span>;
  116 +<a name="l00095"></a>00095 }
  117 +<a name="l00096"></a>00096
  118 +<a name="l00097"></a>00097 <span class="keywordflow">return</span> readSize;
  119 +<a name="l00098"></a>00098 }
  120 +<a name="l00099"></a>00099
  121 +<a name="l00100"></a><a class="code" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">00100</a> <span class="preprocessor">#define EOB(client,addr) ((addr) -(client)-&gt;readBuffer &gt;= (client)-&gt;readPos)</span>
  122 +<a name="l00101"></a><a class="code" href="clientRead_8c.html#b6f9cfea308c9f485d4b00b60fd2f6cd">00101</a> <span class="preprocessor"></span><span class="preprocessor">#define REMAINING(client,addr) ((client)-&gt;readPos - ((addr) - (client)-&gt;readBuffer))</span>
  123 +<a name="l00102"></a>00102 <span class="preprocessor"></span>
  124 +<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keywordtype">char</span> *
  125 +<a name="l00104"></a>00104 _clientGetLineDelimiter(<a class="code" href="structtClient.html">tClient</a> * client, <span class="keyword">const</span> <span class="keywordtype">char</span> * delim, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len)
  126 +<a name="l00105"></a>00105 {
  127 +<a name="l00106"></a>00106 <span class="keywordtype">char</span> * foundDelim = memchr(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, delim[0], client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>);
  128 +<a name="l00107"></a>00107
  129 +<a name="l00108"></a>00108 <span class="keywordflow">while</span> (NULL != foundDelim &amp;&amp; !<a class="code" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">EOB</a>(client, foundDelim)) {
  130 +<a name="l00109"></a>00109
  131 +<a name="l00110"></a>00110 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0;
  132 +<a name="l00111"></a>00111
  133 +<a name="l00112"></a>00112 <span class="keywordflow">while</span> (i &lt; len &amp;&amp; !<a class="code" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">EOB</a>(client, &amp;(foundDelim[i])) &amp;&amp; foundDelim[i] == delim[i]) i++;
  134 +<a name="l00113"></a>00113
  135 +<a name="l00114"></a>00114 <span class="keywordflow">if</span> (i == len) {
  136 +<a name="l00115"></a>00115 <span class="keywordflow">return</span> foundDelim;
  137 +<a name="l00116"></a>00116 } <span class="keywordflow">else</span> {
  138 +<a name="l00117"></a>00117 <span class="keywordflow">if</span> (!<a class="code" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">EOB</a>(client, ++foundDelim)) {
  139 +<a name="l00118"></a>00118 foundDelim = memchr(foundDelim, delim[0], <a class="code" href="clientRead_8c.html#b6f9cfea308c9f485d4b00b60fd2f6cd">REMAINING</a>(client, foundDelim));
  140 +<a name="l00119"></a>00119 }
  141 +<a name="l00120"></a>00120 }
  142 +<a name="l00121"></a>00121 }
  143 +<a name="l00122"></a>00122
  144 +<a name="l00123"></a>00123 <span class="keywordflow">return</span> NULL;
  145 +<a name="l00124"></a>00124 }
  146 +<a name="l00125"></a>00125
  147 +<a name="l00126"></a>00126 <span class="comment">/*</span>
  148 +<a name="l00127"></a>00127 <span class="comment"> * this returns a newly allocate buffer, with the found line</span>
  149 +<a name="l00128"></a>00128 <span class="comment"> * copied to it.</span>
  150 +<a name="l00129"></a>00129 <span class="comment"> * The caller has to take care to free this buffer again,</span>
  151 +<a name="l00130"></a>00130 <span class="comment"> * after he uses it.</span>
  152 +<a name="l00131"></a>00131 <span class="comment"> */</span>
  153 +<a name="l00132"></a>00132 <span class="keywordtype">char</span> *
  154 +<a name="l00133"></a><a class="code" href="clientRead_8c.html#8363f6facea09bd36e288a51c983aed2">00133</a> <a class="code" href="clientRead_8c.html#8363f6facea09bd36e288a51c983aed2">clientConsumeLine</a>(<a class="code" href="structtClient.html">tClient</a> * client, <span class="keyword">const</span> <span class="keywordtype">char</span> * delim, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * len)
  155 +<a name="l00134"></a>00134 {
  156 +<a name="l00135"></a>00135 <span class="keywordtype">char</span> * found = <a class="code" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a>(client, delim, len);
  157 +<a name="l00136"></a>00136 <span class="keywordtype">char</span> * line = NULL;
  158 +<a name="l00137"></a>00137
  159 +<a name="l00138"></a>00138 <span class="keywordflow">if</span> (NULL != found) {
  160 +<a name="l00139"></a>00139 line = calloc(*len +1, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  161 +<a name="l00140"></a>00140 <a class="code" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">clientRemoveLine</a>(client, delim, len);
  162 +<a name="l00141"></a>00141 memcpy(line, found, *len);
  163 +<a name="l00142"></a>00142 }
  164 +<a name="l00143"></a>00143
  165 +<a name="l00144"></a>00144 <span class="keywordflow">return</span> line;
  166 +<a name="l00145"></a>00145 }
  167 +<a name="l00146"></a>00146
  168 +<a name="l00147"></a>00147 <span class="comment">/*</span>
  169 +<a name="l00148"></a>00148 <span class="comment"> * as a side effect this gives sets length of the found line in len</span>
  170 +<a name="l00149"></a>00149 <span class="comment"> */</span>
  171 +<a name="l00150"></a>00150 <span class="keywordtype">char</span> *
  172 +<a name="l00151"></a><a class="code" href="clientRead_8c.html#fbcefe4f20179c643fdff8007235325c">00151</a> <a class="code" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a>(<a class="code" href="structtClient.html">tClient</a> * client, <span class="keyword">const</span> <span class="keywordtype">char</span> * delim, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * len)
  173 +<a name="l00152"></a>00152 {
  174 +<a name="l00153"></a>00153 <span class="keywordtype">char</span> * foundDelim = _clientGetLineDelimiter(client, delim, *len);
  175 +<a name="l00154"></a>00154
  176 +<a name="l00155"></a>00155 <span class="keywordflow">if</span> (NULL != foundDelim) {
  177 +<a name="l00156"></a>00156 *len = foundDelim -client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> -1;
  178 +<a name="l00157"></a>00157 <span class="keywordflow">return</span> client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>;
  179 +<a name="l00158"></a>00158 }
  180 +<a name="l00159"></a>00159
  181 +<a name="l00160"></a>00160 <span class="keywordflow">return</span> NULL;
  182 +<a name="l00161"></a>00161 }
  183 +<a name="l00162"></a>00162
  184 +<a name="l00163"></a>00163 <span class="keywordtype">char</span> *
  185 +<a name="l00164"></a><a class="code" href="clientRead_8c.html#8cbd479139f4645f07ae0b7c18202fef">00164</a> <a class="code" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">clientRemoveLine</a>(<a class="code" href="structtClient.html">tClient</a> * client, <span class="keyword">const</span> <span class="keywordtype">char</span> * delim, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * len)
  186 +<a name="l00165"></a>00165 {
  187 +<a name="l00166"></a>00166 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lineLen;
  188 +<a name="l00167"></a>00167 <span class="keywordtype">char</span> * foundDelim = _clientGetLineDelimiter(client, delim, &amp;lineLen);
  189 +<a name="l00168"></a>00168
  190 +<a name="l00169"></a>00169 <span class="keywordflow">if</span> (NULL != foundDelim) {
  191 +<a name="l00170"></a>00170 <span class="keywordtype">char</span> * actAddr = client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> +client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>;
  192 +<a name="l00171"></a>00171
  193 +<a name="l00172"></a>00172 <span class="keywordflow">if</span> (actAddr == foundDelim +*len) {
  194 +<a name="l00173"></a>00173
  195 +<a name="l00174"></a>00174 memset(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, 0, client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>);
  196 +<a name="l00175"></a>00175 *len = client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> = 0;
  197 +<a name="l00176"></a>00176
  198 +<a name="l00177"></a>00177 } <span class="keywordflow">else</span> {
  199 +<a name="l00178"></a>00178
  200 +<a name="l00179"></a>00179 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> moveSize = actAddr -foundDelim -*len;
  201 +<a name="l00180"></a>00180 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> clearSize = actAddr -client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> -moveSize;
  202 +<a name="l00181"></a>00181
  203 +<a name="l00182"></a>00182 memmove(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, foundDelim +*len, moveSize);
  204 +<a name="l00183"></a>00183 memset(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> +moveSize, 0, clearSize);
  205 +<a name="l00184"></a>00184 *len = client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> = moveSize;
  206 +<a name="l00185"></a>00185 }
  207 +<a name="l00186"></a>00186
  208 +<a name="l00187"></a>00187 <span class="keywordflow">return</span> client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>;
  209 +<a name="l00188"></a>00188 }
  210 +<a name="l00189"></a>00189
  211 +<a name="l00190"></a>00190 <span class="keywordflow">return</span> NULL;
  212 +<a name="l00191"></a>00191 }
  213 +<a name="l00192"></a>00192
  214 +</pre></div></div>
  215 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  216 +<a href="http://www.doxygen.org/index.html">
  217 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  218 +</body>
  219 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: reader/commonReader/clientRead.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>reader/commonReader/clientRead.c File Reference</h1><code>#include &lt;unistd.h&gt;</code><br>
  25 +<code>#include &lt;stdlib.h&gt;</code><br>
  26 +<code>#include &lt;string.h&gt;</code><br>
  27 +<code>#include &lt;errno.h&gt;</code><br>
  28 +<code>#include &quot;<a class="el" href="client_8h-source.html">../../include/client.h</a>&quot;</code><br>
  29 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../../include/monitor.h</a>&quot;</code><br>
  30 +
  31 +<p>
  32 +<a href="clientRead_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  33 +<tr><td></td></tr>
  34 +<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  35 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clientRead_8c.html#3baabeba3e06eb1b8761363a58f8391b">GET_MULTIPLIER</a>(size)&nbsp;&nbsp;&nbsp;(((size) - 1) / READBUFSIZE + 1)</td></tr>
  36 +
  37 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">EOB</a>(client, addr)&nbsp;&nbsp;&nbsp;((addr) -(client)-&gt;readBuffer &gt;= (client)-&gt;readPos)</td></tr>
  38 +
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clientRead_8c.html#b6f9cfea308c9f485d4b00b60fd2f6cd">REMAINING</a>(client, addr)&nbsp;&nbsp;&nbsp;((client)-&gt;readPos - ((addr) - (client)-&gt;readBuffer))</td></tr>
  40 +
  41 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  42 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clientRead_8c.html#6504ff36553f8008b9ee1d52aa977740">clientRead</a> (<a class="el" href="structtClient.html">tClient</a> *client)</td></tr>
  43 +
  44 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clientRead_8c.html#8363f6facea09bd36e288a51c983aed2">clientConsumeLine</a> (<a class="el" href="structtClient.html">tClient</a> *client, const char *delim, unsigned int *len)</td></tr>
  45 +
  46 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clientRead_8c.html#fbcefe4f20179c643fdff8007235325c">clientGetLine</a> (<a class="el" href="structtClient.html">tClient</a> *client, const char *delim, unsigned int *len)</td></tr>
  47 +
  48 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clientRead_8c.html#8cbd479139f4645f07ae0b7c18202fef">clientRemoveLine</a> (<a class="el" href="structtClient.html">tClient</a> *client, const char *delim, unsigned int *len)</td></tr>
  49 +
  50 +</table>
  51 +<hr><h2>Define Documentation</h2>
  52 +<a class="anchor" name="47d745b24a58d0152c7b43db75387a79"></a><!-- doxytag: member="clientRead.c::EOB" ref="47d745b24a58d0152c7b43db75387a79" args="(client, addr)" -->
  53 +<div class="memitem">
  54 +<div class="memproto">
  55 + <table class="memname">
  56 + <tr>
  57 + <td class="memname">#define EOB </td>
  58 + <td>(</td>
  59 + <td class="paramtype">client, <tr>
  60 + <td class="paramkey"></td>
  61 + <td></td>
  62 + <td class="paramtype">addr&nbsp;</td>
  63 + <td class="paramname"> </td>
  64 + <td>&nbsp;)&nbsp;</td>
  65 + <td>&nbsp;&nbsp;&nbsp;((addr) -(client)-&gt;readBuffer &gt;= (client)-&gt;readPos)</td>
  66 + </tr>
  67 + </table>
  68 +</div>
  69 +<div class="memdoc">
  70 +
  71 +<p>
  72 +
  73 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00100">100</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  74 +
  75 +</div>
  76 +</div><p>
  77 +<a class="anchor" name="3baabeba3e06eb1b8761363a58f8391b"></a><!-- doxytag: member="clientRead.c::GET_MULTIPLIER" ref="3baabeba3e06eb1b8761363a58f8391b" args="(size)" -->
  78 +<div class="memitem">
  79 +<div class="memproto">
  80 + <table class="memname">
  81 + <tr>
  82 + <td class="memname">#define GET_MULTIPLIER </td>
  83 + <td>(</td>
  84 + <td class="paramtype">size&nbsp;</td>
  85 + <td class="paramname"> </td>
  86 + <td>&nbsp;)&nbsp;</td>
  87 + <td>&nbsp;&nbsp;&nbsp;(((size) - 1) / READBUFSIZE + 1)</td>
  88 + </tr>
  89 + </table>
  90 +</div>
  91 +<div class="memdoc">
  92 +
  93 +<p>
  94 +
  95 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00009">9</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  96 +
  97 +</div>
  98 +</div><p>
  99 +<a class="anchor" name="b6f9cfea308c9f485d4b00b60fd2f6cd"></a><!-- doxytag: member="clientRead.c::REMAINING" ref="b6f9cfea308c9f485d4b00b60fd2f6cd" args="(client, addr)" -->
  100 +<div class="memitem">
  101 +<div class="memproto">
  102 + <table class="memname">
  103 + <tr>
  104 + <td class="memname">#define REMAINING </td>
  105 + <td>(</td>
  106 + <td class="paramtype">client, <tr>
  107 + <td class="paramkey"></td>
  108 + <td></td>
  109 + <td class="paramtype">addr&nbsp;</td>
  110 + <td class="paramname"> </td>
  111 + <td>&nbsp;)&nbsp;</td>
  112 + <td>&nbsp;&nbsp;&nbsp;((client)-&gt;readPos - ((addr) - (client)-&gt;readBuffer))</td>
  113 + </tr>
  114 + </table>
  115 +</div>
  116 +<div class="memdoc">
  117 +
  118 +<p>
  119 +
  120 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00101">101</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  121 +
  122 +</div>
  123 +</div><p>
  124 +<hr><h2>Function Documentation</h2>
  125 +<a class="anchor" name="8363f6facea09bd36e288a51c983aed2"></a><!-- doxytag: member="clientRead.c::clientConsumeLine" ref="8363f6facea09bd36e288a51c983aed2" args="(tClient *client, const char *delim, unsigned int *len)" -->
  126 +<div class="memitem">
  127 +<div class="memproto">
  128 + <table class="memname">
  129 + <tr>
  130 + <td class="memname">char* clientConsumeLine </td>
  131 + <td>(</td>
  132 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  133 + <td class="paramname"> <em>client</em>, </td>
  134 + </tr>
  135 + <tr>
  136 + <td class="paramkey"></td>
  137 + <td></td>
  138 + <td class="paramtype">const char *&nbsp;</td>
  139 + <td class="paramname"> <em>delim</em>, </td>
  140 + </tr>
  141 + <tr>
  142 + <td class="paramkey"></td>
  143 + <td></td>
  144 + <td class="paramtype">unsigned int *&nbsp;</td>
  145 + <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
  146 + </tr>
  147 + <tr>
  148 + <td></td>
  149 + <td>)</td>
  150 + <td></td><td></td><td></td>
  151 + </tr>
  152 + </table>
  153 +</div>
  154 +<div class="memdoc">
  155 +
  156 +<p>
  157 +
  158 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00133">133</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  159 +
  160 +</div>
  161 +</div><p>
  162 +<a class="anchor" name="fbcefe4f20179c643fdff8007235325c"></a><!-- doxytag: member="clientRead.c::clientGetLine" ref="fbcefe4f20179c643fdff8007235325c" args="(tClient *client, const char *delim, unsigned int *len)" -->
  163 +<div class="memitem">
  164 +<div class="memproto">
  165 + <table class="memname">
  166 + <tr>
  167 + <td class="memname">char* clientGetLine </td>
  168 + <td>(</td>
  169 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  170 + <td class="paramname"> <em>client</em>, </td>
  171 + </tr>
  172 + <tr>
  173 + <td class="paramkey"></td>
  174 + <td></td>
  175 + <td class="paramtype">const char *&nbsp;</td>
  176 + <td class="paramname"> <em>delim</em>, </td>
  177 + </tr>
  178 + <tr>
  179 + <td class="paramkey"></td>
  180 + <td></td>
  181 + <td class="paramtype">unsigned int *&nbsp;</td>
  182 + <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
  183 + </tr>
  184 + <tr>
  185 + <td></td>
  186 + <td>)</td>
  187 + <td></td><td></td><td></td>
  188 + </tr>
  189 + </table>
  190 +</div>
  191 +<div class="memdoc">
  192 +
  193 +<p>
  194 +
  195 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00151">151</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  196 +
  197 +</div>
  198 +</div><p>
  199 +<a class="anchor" name="6504ff36553f8008b9ee1d52aa977740"></a><!-- doxytag: member="clientRead.c::clientRead" ref="6504ff36553f8008b9ee1d52aa977740" args="(tClient *client)" -->
  200 +<div class="memitem">
  201 +<div class="memproto">
  202 + <table class="memname">
  203 + <tr>
  204 + <td class="memname">int clientRead </td>
  205 + <td>(</td>
  206 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  207 + <td class="paramname"> <em>client</em> </td>
  208 + <td>&nbsp;)&nbsp;</td>
  209 + <td></td>
  210 + </tr>
  211 + </table>
  212 +</div>
  213 +<div class="memdoc">
  214 +
  215 +<p>
  216 +
  217 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00053">53</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  218 +
  219 +</div>
  220 +</div><p>
  221 +<a class="anchor" name="8cbd479139f4645f07ae0b7c18202fef"></a><!-- doxytag: member="clientRead.c::clientRemoveLine" ref="8cbd479139f4645f07ae0b7c18202fef" args="(tClient *client, const char *delim, unsigned int *len)" -->
  222 +<div class="memitem">
  223 +<div class="memproto">
  224 + <table class="memname">
  225 + <tr>
  226 + <td class="memname">char* clientRemoveLine </td>
  227 + <td>(</td>
  228 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  229 + <td class="paramname"> <em>client</em>, </td>
  230 + </tr>
  231 + <tr>
  232 + <td class="paramkey"></td>
  233 + <td></td>
  234 + <td class="paramtype">const char *&nbsp;</td>
  235 + <td class="paramname"> <em>delim</em>, </td>
  236 + </tr>
  237 + <tr>
  238 + <td class="paramkey"></td>
  239 + <td></td>
  240 + <td class="paramtype">unsigned int *&nbsp;</td>
  241 + <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
  242 + </tr>
  243 + <tr>
  244 + <td></td>
  245 + <td>)</td>
  246 + <td></td><td></td><td></td>
  247 + </tr>
  248 + </table>
  249 +</div>
  250 +<div class="memdoc">
  251 +
  252 +<p>
  253 +
  254 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00164">164</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  255 +
  256 +</div>
  257 +</div><p>
  258 +</div>
  259 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  260 +<a href="http://www.doxygen.org/index.html">
  261 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  262 +</body>
  263 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/client.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/client.h</h1><a href="client_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __CLIENT_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __CLIENT_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for FILE */</span>
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;expat.h&gt;</span>
  28 +<a name="l00007"></a>00007
  29 +<a name="l00008"></a>00008 <span class="preprocessor">#include "<a class="code" href="httpRequest_8h.html">httpRequest.h</a>"</span>
  30 +<a name="l00009"></a>00009
  31 +<a name="l00010"></a><a class="code" href="client_8h.html#a0534241791f23ec8098503582406166">00010</a> <span class="preprocessor">#define READBUFSIZE 2048 </span><span class="comment">/* Size of receive readBuffer */</span>
  32 +<a name="l00011"></a><a class="code" href="client_8h.html#eefa2efc8515c7f8334de344e8a07fbf">00011</a> <span class="preprocessor">#define CLIENTMULTMAX 512U </span><span class="comment">/* 1MB maximum size the readbuffer may grow */</span>
  33 +<a name="l00012"></a>00012
  34 +<a name="l00013"></a><a class="code" href="client_8h.html#f150df8f008146f177d67862d2569834">00013</a> <span class="preprocessor">#define READ_ERR_LONGLINE -2</span>
  35 +<a name="l00014"></a><a class="code" href="client_8h.html#4f090ce41ed48b83e309d8fce71db4ab">00014</a> <span class="preprocessor"></span><span class="preprocessor">#define READ_ERR_MEMORY -3</span>
  36 +<a name="l00015"></a>00015 <span class="preprocessor"></span>
  37 +<a name="l00016"></a>00016 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>;
  38 +<a name="l00017"></a>00017
  39 +<a name="l00018"></a><a class="code" href="structtClient.html">00018</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
  40 +<a name="l00019"></a><a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">00019</a> <span class="keywordtype">int</span> socket;
  41 +<a name="l00020"></a><a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">00020</a> <span class="keywordtype">char</span> * readBuffer;
  42 +<a name="l00021"></a><a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">00021</a> <span class="keywordtype">char</span> * <a class="code" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a>;
  43 +<a name="l00022"></a><a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">00022</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> readPos;
  44 +<a name="l00023"></a><a class="code" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">00023</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> writePos;
  45 +<a name="l00024"></a><a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">00024</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> readBufMult;
  46 +<a name="l00025"></a><a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">00025</a> <span class="keywordtype">char</span> remoteAddr[16];
  47 +<a name="l00026"></a>00026
  48 +<a name="l00027"></a><a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">00027</a> <a class="code" href="structtHttpHeader.html">tHttpHeader</a> httpHeader;
  49 +<a name="l00028"></a><a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">00028</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bodyLenRemaining;
  50 +<a name="l00029"></a>00029
  51 +<a name="l00030"></a><a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">00030</a> XML_Parser parser;
  52 +<a name="l00031"></a>00031 } <a class="code" href="structtClient.html">tClient</a>;
  53 +<a name="l00032"></a>00032
  54 +<a name="l00033"></a>00033
  55 +<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a>(<a class="code" href="structtClient.html">tClient</a> * client);
  56 +<a name="l00035"></a>00035 <span class="keywordtype">int</span> <a class="code" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">clientRead</a>(<a class="code" href="structtClient.html">tClient</a> * client);
  57 +<a name="l00036"></a>00036 <span class="keywordtype">int</span> <a class="code" href="client_8h.html#ab1a321bfd432ac9ec8818ad3eb6e591">clientWrite</a>(<a class="code" href="structtClient.html">tClient</a> * client);
  58 +<a name="l00037"></a>00037 <span class="keywordtype">char</span> * <a class="code" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a>(<a class="code" href="structtClient.html">tClient</a> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *);
  59 +<a name="l00038"></a>00038 <span class="keywordtype">char</span> * <a class="code" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">clientRemoveLine</a>(<a class="code" href="structtClient.html">tClient</a> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *);
  60 +<a name="l00039"></a>00039
  61 +<a name="l00040"></a>00040 <span class="preprocessor">#endif // __CLIENT_H__</span>
  62 +</pre></div></div>
  63 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  64 +<a href="http://www.doxygen.org/index.html">
  65 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  66 +</body>
  67 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/client.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/client.h File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
  25 +<code>#include &lt;expat.h&gt;</code><br>
  26 +<code>#include &quot;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&quot;</code><br>
  27 +
  28 +<p>
  29 +<a href="client_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  30 +<tr><td></td></tr>
  31 +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
  32 +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html">tClient</a></td></tr>
  33 +
  34 +<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  35 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>&nbsp;&nbsp;&nbsp;2048</td></tr>
  36 +
  37 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#eefa2efc8515c7f8334de344e8a07fbf">CLIENTMULTMAX</a>&nbsp;&nbsp;&nbsp;512U</td></tr>
  38 +
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#f150df8f008146f177d67862d2569834">READ_ERR_LONGLINE</a>&nbsp;&nbsp;&nbsp;-2</td></tr>
  40 +
  41 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#4f090ce41ed48b83e309d8fce71db4ab">READ_ERR_MEMORY</a>&nbsp;&nbsp;&nbsp;-3</td></tr>
  42 +
  43 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  44 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a> (<a class="el" href="structtClient.html">tClient</a> *client)</td></tr>
  45 +
  46 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">clientRead</a> (<a class="el" href="structtClient.html">tClient</a> *client)</td></tr>
  47 +
  48 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#ab1a321bfd432ac9ec8818ad3eb6e591">clientWrite</a> (<a class="el" href="structtClient.html">tClient</a> *client)</td></tr>
  49 +
  50 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a> (<a class="el" href="structtClient.html">tClient</a> *, const char *, unsigned int *)</td></tr>
  51 +
  52 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">clientRemoveLine</a> (<a class="el" href="structtClient.html">tClient</a> *, const char *, unsigned int *)</td></tr>
  53 +
  54 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  55 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a></td></tr>
  56 +
  57 +</table>
  58 +<hr><h2>Define Documentation</h2>
  59 +<a class="anchor" name="eefa2efc8515c7f8334de344e8a07fbf"></a><!-- doxytag: member="client.h::CLIENTMULTMAX" ref="eefa2efc8515c7f8334de344e8a07fbf" args="" -->
  60 +<div class="memitem">
  61 +<div class="memproto">
  62 + <table class="memname">
  63 + <tr>
  64 + <td class="memname">#define CLIENTMULTMAX&nbsp;&nbsp;&nbsp;512U </td>
  65 + </tr>
  66 + </table>
  67 +</div>
  68 +<div class="memdoc">
  69 +
  70 +<p>
  71 +
  72 +<p>Definition at line <a class="el" href="client_8h-source.html#l00011">11</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  73 +
  74 +</div>
  75 +</div><p>
  76 +<a class="anchor" name="f150df8f008146f177d67862d2569834"></a><!-- doxytag: member="client.h::READ_ERR_LONGLINE" ref="f150df8f008146f177d67862d2569834" args="" -->
  77 +<div class="memitem">
  78 +<div class="memproto">
  79 + <table class="memname">
  80 + <tr>
  81 + <td class="memname">#define READ_ERR_LONGLINE&nbsp;&nbsp;&nbsp;-2 </td>
  82 + </tr>
  83 + </table>
  84 +</div>
  85 +<div class="memdoc">
  86 +
  87 +<p>
  88 +
  89 +<p>Definition at line <a class="el" href="client_8h-source.html#l00013">13</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  90 +
  91 +</div>
  92 +</div><p>
  93 +<a class="anchor" name="4f090ce41ed48b83e309d8fce71db4ab"></a><!-- doxytag: member="client.h::READ_ERR_MEMORY" ref="4f090ce41ed48b83e309d8fce71db4ab" args="" -->
  94 +<div class="memitem">
  95 +<div class="memproto">
  96 + <table class="memname">
  97 + <tr>
  98 + <td class="memname">#define READ_ERR_MEMORY&nbsp;&nbsp;&nbsp;-3 </td>
  99 + </tr>
  100 + </table>
  101 +</div>
  102 +<div class="memdoc">
  103 +
  104 +<p>
  105 +
  106 +<p>Definition at line <a class="el" href="client_8h-source.html#l00014">14</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  107 +
  108 +</div>
  109 +</div><p>
  110 +<a class="anchor" name="a0534241791f23ec8098503582406166"></a><!-- doxytag: member="client.h::READBUFSIZE" ref="a0534241791f23ec8098503582406166" args="" -->
  111 +<div class="memitem">
  112 +<div class="memproto">
  113 + <table class="memname">
  114 + <tr>
  115 + <td class="memname">#define READBUFSIZE&nbsp;&nbsp;&nbsp;2048 </td>
  116 + </tr>
  117 + </table>
  118 +</div>
  119 +<div class="memdoc">
  120 +
  121 +<p>
  122 +
  123 +<p>Definition at line <a class="el" href="client_8h-source.html#l00010">10</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  124 +
  125 +</div>
  126 +</div><p>
  127 +<hr><h2>Function Documentation</h2>
  128 +<a class="anchor" name="a9dad65338aa78062b23a924ae1d2b59"></a><!-- doxytag: member="client.h::clientClose" ref="a9dad65338aa78062b23a924ae1d2b59" args="(tClient *client)" -->
  129 +<div class="memitem">
  130 +<div class="memproto">
  131 + <table class="memname">
  132 + <tr>
  133 + <td class="memname">void clientClose </td>
  134 + <td>(</td>
  135 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  136 + <td class="paramname"> <em>client</em> </td>
  137 + <td>&nbsp;)&nbsp;</td>
  138 + <td></td>
  139 + </tr>
  140 + </table>
  141 +</div>
  142 +<div class="memdoc">
  143 +
  144 +<p>
  145 +
  146 +<p>Definition at line <a class="el" href="clientClose_8c-source.html#l00012">12</a> of file <a class="el" href="clientClose_8c-source.html">clientClose.c</a>.</p>
  147 +
  148 +</div>
  149 +</div><p>
  150 +<a class="anchor" name="9741eb2a0853766868828c722e67c068"></a><!-- doxytag: member="client.h::clientGetLine" ref="9741eb2a0853766868828c722e67c068" args="(tClient *, const char *, unsigned int *)" -->
  151 +<div class="memitem">
  152 +<div class="memproto">
  153 + <table class="memname">
  154 + <tr>
  155 + <td class="memname">char* clientGetLine </td>
  156 + <td>(</td>
  157 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  158 + <td class="paramname">, </td>
  159 + </tr>
  160 + <tr>
  161 + <td class="paramkey"></td>
  162 + <td></td>
  163 + <td class="paramtype">const char *&nbsp;</td>
  164 + <td class="paramname">, </td>
  165 + </tr>
  166 + <tr>
  167 + <td class="paramkey"></td>
  168 + <td></td>
  169 + <td class="paramtype">unsigned int *&nbsp;</td>
  170 + <td class="paramname"></td><td>&nbsp;</td>
  171 + </tr>
  172 + <tr>
  173 + <td></td>
  174 + <td>)</td>
  175 + <td></td><td></td><td></td>
  176 + </tr>
  177 + </table>
  178 +</div>
  179 +<div class="memdoc">
  180 +
  181 +<p>
  182 +
  183 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00151">151</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  184 +
  185 +</div>
  186 +</div><p>
  187 +<a class="anchor" name="6504ff36553f8008b9ee1d52aa977740"></a><!-- doxytag: member="client.h::clientRead" ref="6504ff36553f8008b9ee1d52aa977740" args="(tClient *client)" -->
  188 +<div class="memitem">
  189 +<div class="memproto">
  190 + <table class="memname">
  191 + <tr>
  192 + <td class="memname">int clientRead </td>
  193 + <td>(</td>
  194 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  195 + <td class="paramname"> <em>client</em> </td>
  196 + <td>&nbsp;)&nbsp;</td>
  197 + <td></td>
  198 + </tr>
  199 + </table>
  200 +</div>
  201 +<div class="memdoc">
  202 +
  203 +<p>
  204 +
  205 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00053">53</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  206 +
  207 +</div>
  208 +</div><p>
  209 +<a class="anchor" name="a920588f9122184bad211ae912d1dbc4"></a><!-- doxytag: member="client.h::clientRemoveLine" ref="a920588f9122184bad211ae912d1dbc4" args="(tClient *, const char *, unsigned int *)" -->
  210 +<div class="memitem">
  211 +<div class="memproto">
  212 + <table class="memname">
  213 + <tr>
  214 + <td class="memname">char* clientRemoveLine </td>
  215 + <td>(</td>
  216 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  217 + <td class="paramname">, </td>
  218 + </tr>
  219 + <tr>
  220 + <td class="paramkey"></td>
  221 + <td></td>
  222 + <td class="paramtype">const char *&nbsp;</td>
  223 + <td class="paramname">, </td>
  224 + </tr>
  225 + <tr>
  226 + <td class="paramkey"></td>
  227 + <td></td>
  228 + <td class="paramtype">unsigned int *&nbsp;</td>
  229 + <td class="paramname"></td><td>&nbsp;</td>
  230 + </tr>
  231 + <tr>
  232 + <td></td>
  233 + <td>)</td>
  234 + <td></td><td></td><td></td>
  235 + </tr>
  236 + </table>
  237 +</div>
  238 +<div class="memdoc">
  239 +
  240 +<p>
  241 +
  242 +<p>Definition at line <a class="el" href="clientRead_8c-source.html#l00164">164</a> of file <a class="el" href="clientRead_8c-source.html">clientRead.c</a>.</p>
  243 +
  244 +</div>
  245 +</div><p>
  246 +<a class="anchor" name="ab1a321bfd432ac9ec8818ad3eb6e591"></a><!-- doxytag: member="client.h::clientWrite" ref="ab1a321bfd432ac9ec8818ad3eb6e591" args="(tClient *client)" -->
  247 +<div class="memitem">
  248 +<div class="memproto">
  249 + <table class="memname">
  250 + <tr>
  251 + <td class="memname">int clientWrite </td>
  252 + <td>(</td>
  253 + <td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
  254 + <td class="paramname"> <em>client</em> </td>
  255 + <td>&nbsp;)&nbsp;</td>
  256 + <td></td>
  257 + </tr>
  258 + </table>
  259 +</div>
  260 +<div class="memdoc">
  261 +
  262 +<p>
  263 +
  264 +</div>
  265 +</div><p>
  266 +<hr><h2>Variable Documentation</h2>
  267 +<a class="anchor" name="0b2caeb4b6f130be43e5a2f0267dd453"></a><!-- doxytag: member="client.h::verbose" ref="0b2caeb4b6f130be43e5a2f0267dd453" args="" -->
  268 +<div class="memitem">
  269 +<div class="memproto">
  270 + <table class="memname">
  271 + <tr>
  272 + <td class="memname">int <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a> </td>
  273 + </tr>
  274 + </table>
  275 +</div>
  276 +<div class="memdoc">
  277 +
  278 +<p>
  279 +
  280 +</div>
  281 +</div><p>
  282 +</div>
  283 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  284 +<a href="http://www.doxygen.org/index.html">
  285 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  286 +</body>
  287 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/daemonize.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>system/daemonize.c</h1><a href="daemonize_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for printf() and fprintf() */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for getopt */</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
  25 +<a name="l00004"></a>00004
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a><a class="code" href="daemonize_8c.html#29b0af1da2432bcc90721c0b62f4e660">00006</a> <span class="keywordtype">void</span> <a class="code" href="daemonize_8h.html#29b0af1da2432bcc90721c0b62f4e660">daemonize</a>(<span class="keywordtype">void</span>) {
  28 +<a name="l00007"></a>00007 pid_t pid;
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a>00009 <span class="keywordflow">if</span> (0 &gt; ((pid = fork()))) {
  31 +<a name="l00010"></a>00010 perror(<span class="stringliteral">"deamoinze[fork]"</span>);
  32 +<a name="l00011"></a>00011 exit(EXIT_FAILURE);
  33 +<a name="l00012"></a>00012 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (0 != pid) {
  34 +<a name="l00013"></a>00013 exit(EXIT_SUCCESS);
  35 +<a name="l00014"></a>00014 }
  36 +<a name="l00015"></a>00015
  37 +<a name="l00016"></a>00016 <span class="comment">/* make new child session leader */</span>
  38 +<a name="l00017"></a>00017 setsid();
  39 +<a name="l00018"></a>00018
  40 +<a name="l00019"></a>00019 <span class="comment">/* connect all standard streams to /dev/null */</span>
  41 +<a name="l00020"></a>00020 freopen(<span class="stringliteral">"/dev/null"</span>, <span class="stringliteral">"w"</span>, stderr);
  42 +<a name="l00021"></a>00021 freopen(<span class="stringliteral">"/dev/null"</span>, <span class="stringliteral">"r"</span>, stdin);
  43 +<a name="l00022"></a>00022 freopen(<span class="stringliteral">"/dev/null"</span>, <span class="stringliteral">"w"</span>, stdout);
  44 +<a name="l00023"></a>00023 }
  45 +</pre></div></div>
  46 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  47 +<a href="http://www.doxygen.org/index.html">
  48 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  49 +</body>
  50 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/daemonize.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>system/daemonize.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
  25 +<code>#include &lt;unistd.h&gt;</code><br>
  26 +<code>#include &lt;stdlib.h&gt;</code><br>
  27 +
  28 +<p>
  29 +<a href="daemonize_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  30 +<tr><td></td></tr>
  31 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  32 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="daemonize_8c.html#29b0af1da2432bcc90721c0b62f4e660">daemonize</a> (void)</td></tr>
  33 +
  34 +</table>
  35 +<hr><h2>Function Documentation</h2>
  36 +<a class="anchor" name="29b0af1da2432bcc90721c0b62f4e660"></a><!-- doxytag: member="daemonize.c::daemonize" ref="29b0af1da2432bcc90721c0b62f4e660" args="(void)" -->
  37 +<div class="memitem">
  38 +<div class="memproto">
  39 + <table class="memname">
  40 + <tr>
  41 + <td class="memname">void daemonize </td>
  42 + <td>(</td>
  43 + <td class="paramtype">void&nbsp;</td>
  44 + <td class="paramname"> </td>
  45 + <td>&nbsp;)&nbsp;</td>
  46 + <td></td>
  47 + </tr>
  48 + </table>
  49 +</div>
  50 +<div class="memdoc">
  51 +
  52 +<p>
  53 +
  54 +<p>Definition at line <a class="el" href="daemonize_8c-source.html#l00006">6</a> of file <a class="el" href="daemonize_8c-source.html">daemonize.c</a>.</p>
  55 +
  56 +</div>
  57 +</div><p>
  58 +</div>
  59 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  60 +<a href="http://www.doxygen.org/index.html">
  61 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  62 +</body>
  63 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/daemonize.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/daemonize.h</h1><a href="daemonize_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __DAEMONIZE_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __DAEMONIZE_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a>00004 <span class="keywordtype">void</span> <a class="code" href="daemonize_8h.html#29b0af1da2432bcc90721c0b62f4e660">daemonize</a>(<span class="keywordtype">void</span>);
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#endif // __DAEMONIZE_H__</span>
  28 +</pre></div></div>
  29 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  30 +<a href="http://www.doxygen.org/index.html">
  31 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  32 +</body>
  33 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/daemonize.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/daemonize.h File Reference</h1>
  25 +<p>
  26 +<a href="daemonize_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="daemonize_8h.html#29b0af1da2432bcc90721c0b62f4e660">daemonize</a> (void)</td></tr>
  30 +
  31 +</table>
  32 +<hr><h2>Function Documentation</h2>
  33 +<a class="anchor" name="29b0af1da2432bcc90721c0b62f4e660"></a><!-- doxytag: member="daemonize.h::daemonize" ref="29b0af1da2432bcc90721c0b62f4e660" args="(void)" -->
  34 +<div class="memitem">
  35 +<div class="memproto">
  36 + <table class="memname">
  37 + <tr>
  38 + <td class="memname">void daemonize </td>
  39 + <td>(</td>
  40 + <td class="paramtype">void&nbsp;</td>
  41 + <td class="paramname"> </td>
  42 + <td>&nbsp;)&nbsp;</td>
  43 + <td></td>
  44 + </tr>
  45 + </table>
  46 +</div>
  47 +<div class="memdoc">
  48 +
  49 +<p>
  50 +
  51 +<p>Definition at line <a class="el" href="daemonize_8c-source.html#l00006">6</a> of file <a class="el" href="daemonize_8c-source.html">daemonize.c</a>.</p>
  52 +
  53 +</div>
  54 +</div><p>
  55 +</div>
  56 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  57 +<a href="http://www.doxygen.org/index.html">
  58 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  59 +</body>
  60 +</html>
... ...
  1 +body, table, div, p, dl {
  2 + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
  3 + font-size: 12px;
  4 +}
  5 +
  6 +/* @group Heading Levels */
  7 +
  8 +h1 {
  9 + text-align: center;
  10 + font-size: 150%;
  11 +}
  12 +
  13 +h2 {
  14 + font-size: 120%;
  15 +}
  16 +
  17 +h3 {
  18 + font-size: 100%;
  19 +}
  20 +
  21 +/* @end */
  22 +
  23 +caption {
  24 + font-weight: bold;
  25 +}
  26 +
  27 +div.qindex, div.navtab{
  28 + background-color: #e8eef2;
  29 + border: 1px solid #84b0c7;
  30 + text-align: center;
  31 + margin: 2px;
  32 + padding: 2px;
  33 +}
  34 +
  35 +div.qindex, div.navpath {
  36 + width: 100%;
  37 + line-height: 140%;
  38 +}
  39 +
  40 +div.navtab {
  41 + margin-right: 15px;
  42 +}
  43 +
  44 +/* @group Link Styling */
  45 +
  46 +a {
  47 + color: #153788;
  48 + font-weight: normal;
  49 + text-decoration: none;
  50 +}
  51 +
  52 +.contents a:visited {
  53 + color: #1b77c5;
  54 +}
  55 +
  56 +a:hover {
  57 + text-decoration: underline;
  58 +}
  59 +
  60 +a.qindex {
  61 + font-weight: bold;
  62 +}
  63 +
  64 +a.qindexHL {
  65 + font-weight: bold;
  66 + background-color: #6666cc;
  67 + color: #ffffff;
  68 + border: 1px double #9295C2;
  69 +}
  70 +
  71 +.contents a.qindexHL:visited {
  72 + color: #ffffff;
  73 +}
  74 +
  75 +a.el {
  76 + font-weight: bold;
  77 +}
  78 +
  79 +a.elRef {
  80 +}
  81 +
  82 +a.code {
  83 +}
  84 +
  85 +a.codeRef {
  86 +}
  87 +
  88 +/* @end */
  89 +
  90 +dl.el {
  91 + margin-left: -1cm;
  92 +}
  93 +
  94 +.fragment {
  95 + font-family: monospace, fixed;
  96 + font-size: 105%;
  97 +}
  98 +
  99 +pre.fragment {
  100 + border: 1px solid #CCCCCC;
  101 + background-color: #f5f5f5;
  102 + padding: 4px 6px;
  103 + margin: 4px 8px 4px 2px;
  104 +}
  105 +
  106 +div.ah {
  107 + background-color: black;
  108 + font-weight: bold;
  109 + color: #ffffff;
  110 + margin-bottom: 3px;
  111 + margin-top: 3px
  112 +}
  113 +
  114 +div.groupHeader {
  115 + margin-left: 16px;
  116 + margin-top: 12px;
  117 + margin-bottom: 6px;
  118 + font-weight: bold;
  119 +}
  120 +
  121 +div.groupText {
  122 + margin-left: 16px;
  123 + font-style: italic;
  124 +}
  125 +
  126 +body {
  127 + background: white;
  128 + color: black;
  129 + margin-right: 20px;
  130 + margin-left: 20px;
  131 +}
  132 +
  133 +td.indexkey {
  134 + background-color: #e8eef2;
  135 + font-weight: bold;
  136 + border: 1px solid #CCCCCC;
  137 + margin: 2px 0px 2px 0;
  138 + padding: 2px 10px;
  139 +}
  140 +
  141 +td.indexvalue {
  142 + background-color: #e8eef2;
  143 + border: 1px solid #CCCCCC;
  144 + padding: 2px 10px;
  145 + margin: 2px 0px;
  146 +}
  147 +
  148 +tr.memlist {
  149 + background-color: #f0f0f0;
  150 +}
  151 +
  152 +p.formulaDsp {
  153 + text-align: center;
  154 +}
  155 +
  156 +img.formulaDsp {
  157 +
  158 +}
  159 +
  160 +img.formulaInl {
  161 + vertical-align: middle;
  162 +}
  163 +
  164 +/* @group Code Colorization */
  165 +
  166 +span.keyword {
  167 + color: #008000
  168 +}
  169 +
  170 +span.keywordtype {
  171 + color: #604020
  172 +}
  173 +
  174 +span.keywordflow {
  175 + color: #e08000
  176 +}
  177 +
  178 +span.comment {
  179 + color: #800000
  180 +}
  181 +
  182 +span.preprocessor {
  183 + color: #806020
  184 +}
  185 +
  186 +span.stringliteral {
  187 + color: #002080
  188 +}
  189 +
  190 +span.charliteral {
  191 + color: #008080
  192 +}
  193 +
  194 +span.vhdldigit {
  195 + color: #ff00ff
  196 +}
  197 +
  198 +span.vhdlchar {
  199 + color: #000000
  200 +}
  201 +
  202 +span.vhdlkeyword {
  203 + color: #700070
  204 +}
  205 +
  206 +span.vhdllogic {
  207 + color: #ff0000
  208 +}
  209 +
  210 +/* @end */
  211 +
  212 +.search {
  213 + color: #003399;
  214 + font-weight: bold;
  215 +}
  216 +
  217 +form.search {
  218 + margin-bottom: 0px;
  219 + margin-top: 0px;
  220 +}
  221 +
  222 +input.search {
  223 + font-size: 75%;
  224 + color: #000080;
  225 + font-weight: normal;
  226 + background-color: #e8eef2;
  227 +}
  228 +
  229 +td.tiny {
  230 + font-size: 75%;
  231 +}
  232 +
  233 +.dirtab {
  234 + padding: 4px;
  235 + border-collapse: collapse;
  236 + border: 1px solid #84b0c7;
  237 +}
  238 +
  239 +th.dirtab {
  240 + background: #e8eef2;
  241 + font-weight: bold;
  242 +}
  243 +
  244 +hr {
  245 + height: 0;
  246 + border: none;
  247 + border-top: 1px solid #666;
  248 +}
  249 +
  250 +/* @group Member Descriptions */
  251 +
  252 +.mdescLeft, .mdescRight,
  253 +.memItemLeft, .memItemRight,
  254 +.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
  255 + background-color: #FAFAFA;
  256 + border: none;
  257 + margin: 4px;
  258 + padding: 1px 0 0 8px;
  259 +}
  260 +
  261 +.mdescLeft, .mdescRight {
  262 + padding: 0px 8px 4px 8px;
  263 + color: #555;
  264 +}
  265 +
  266 +.memItemLeft, .memItemRight, .memTemplParams {
  267 + border-top: 1px solid #ccc;
  268 +}
  269 +
  270 +.memTemplParams {
  271 + color: #606060;
  272 +}
  273 +
  274 +/* @end */
  275 +
  276 +/* @group Member Details */
  277 +
  278 +/* Styles for detailed member documentation */
  279 +
  280 +.memtemplate {
  281 + font-size: 80%;
  282 + color: #606060;
  283 + font-weight: normal;
  284 + margin-left: 3px;
  285 +}
  286 +
  287 +.memnav {
  288 + background-color: #e8eef2;
  289 + border: 1px solid #84b0c7;
  290 + text-align: center;
  291 + margin: 2px;
  292 + margin-right: 15px;
  293 + padding: 2px;
  294 +}
  295 +
  296 +.memitem {
  297 + padding: 0;
  298 +}
  299 +
  300 +.memname {
  301 + white-space: nowrap;
  302 + font-weight: bold;
  303 +}
  304 +
  305 +.memproto, .memdoc {
  306 + border: 1px solid #84b0c7;
  307 +}
  308 +
  309 +.memproto {
  310 + padding: 0;
  311 + background-color: #d5e1e8;
  312 + font-weight: bold;
  313 + -webkit-border-top-left-radius: 8px;
  314 + -webkit-border-top-right-radius: 8px;
  315 + -moz-border-radius-topleft: 8px;
  316 + -moz-border-radius-topright: 8px;
  317 +}
  318 +
  319 +.memdoc {
  320 + padding: 2px 5px;
  321 + background-color: #eef3f5;
  322 + border-top-width: 0;
  323 + -webkit-border-bottom-left-radius: 8px;
  324 + -webkit-border-bottom-right-radius: 8px;
  325 + -moz-border-radius-bottomleft: 8px;
  326 + -moz-border-radius-bottomright: 8px;
  327 +}
  328 +
  329 +.paramkey {
  330 + text-align: right;
  331 +}
  332 +
  333 +.paramtype {
  334 + white-space: nowrap;
  335 +}
  336 +
  337 +.paramname {
  338 + color: #602020;
  339 + white-space: nowrap;
  340 +}
  341 +.paramname em {
  342 + font-style: normal;
  343 +}
  344 +
  345 +/* @end */
  346 +
  347 +/* @group Directory (tree) */
  348 +
  349 +/* for the tree view */
  350 +
  351 +.ftvtree {
  352 + font-family: sans-serif;
  353 + margin: 0.5em;
  354 +}
  355 +
  356 +/* these are for tree view when used as main index */
  357 +
  358 +.directory {
  359 + font-size: 9pt;
  360 + font-weight: bold;
  361 +}
  362 +
  363 +.directory h3 {
  364 + margin: 0px;
  365 + margin-top: 1em;
  366 + font-size: 11pt;
  367 +}
  368 +
  369 +/*
  370 +The following two styles can be used to replace the root node title
  371 +with an image of your choice. Simply uncomment the next two styles,
  372 +specify the name of your image and be sure to set 'height' to the
  373 +proper pixel height of your image.
  374 +*/
  375 +
  376 +/*
  377 +.directory h3.swap {
  378 + height: 61px;
  379 + background-repeat: no-repeat;
  380 + background-image: url("yourimage.gif");
  381 +}
  382 +.directory h3.swap span {
  383 + display: none;
  384 +}
  385 +*/
  386 +
  387 +.directory > h3 {
  388 + margin-top: 0;
  389 +}
  390 +
  391 +.directory p {
  392 + margin: 0px;
  393 + white-space: nowrap;
  394 +}
  395 +
  396 +.directory div {
  397 + display: none;
  398 + margin: 0px;
  399 +}
  400 +
  401 +.directory img {
  402 + vertical-align: -30%;
  403 +}
  404 +
  405 +/* these are for tree view when not used as main index */
  406 +
  407 +.directory-alt {
  408 + font-size: 100%;
  409 + font-weight: bold;
  410 +}
  411 +
  412 +.directory-alt h3 {
  413 + margin: 0px;
  414 + margin-top: 1em;
  415 + font-size: 11pt;
  416 +}
  417 +
  418 +.directory-alt > h3 {
  419 + margin-top: 0;
  420 +}
  421 +
  422 +.directory-alt p {
  423 + margin: 0px;
  424 + white-space: nowrap;
  425 +}
  426 +
  427 +.directory-alt div {
  428 + display: none;
  429 + margin: 0px;
  430 +}
  431 +
  432 +.directory-alt img {
  433 + vertical-align: -30%;
  434 +}
  435 +
  436 +/* @end */
  437 +
  438 +address {
  439 + font-style: normal;
  440 + color: #333;
  441 +}
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: File Index</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
  25 + <tr><td class="indexkey">include/<a class="el" href="appConfig_8h.html">appConfig.h</a> <a href="appConfig_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  26 + <tr><td class="indexkey">include/<a class="el" href="client_8h.html">client.h</a> <a href="client_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  27 + <tr><td class="indexkey">include/<a class="el" href="daemonize_8h.html">daemonize.h</a> <a href="daemonize_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  28 + <tr><td class="indexkey">include/<a class="el" href="httpRequest_8h.html">httpRequest.h</a> <a href="httpRequest_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  29 + <tr><td class="indexkey">include/<a class="el" href="logRotate_8h.html">logRotate.h</a> <a href="logRotate_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  30 + <tr><td class="indexkey">include/<a class="el" href="monitor_8h.html">monitor.h</a> <a href="monitor_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  31 + <tr><td class="indexkey">include/<a class="el" href="server_8h.html">server.h</a> <a href="server_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  32 + <tr><td class="indexkey">include/<a class="el" href="signalHandling_8h.html">signalHandling.h</a> <a href="signalHandling_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  33 + <tr><td class="indexkey">include/<a class="el" href="socket_8h.html">socket.h</a> <a href="socket_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  34 + <tr><td class="indexkey">include/<a class="el" href="writeBuffer_8h.html">writeBuffer.h</a> <a href="writeBuffer_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  35 + <tr><td class="indexkey">reader/commonReader/<a class="el" href="clientClose_8c.html">clientClose.c</a> <a href="clientClose_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  36 + <tr><td class="indexkey">reader/commonReader/<a class="el" href="clientRead_8c.html">clientRead.c</a> <a href="clientRead_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  37 + <tr><td class="indexkey">reader/commonReader/<a class="el" href="writeBuffer_8c.html">writeBuffer.c</a> <a href="writeBuffer_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  38 + <tr><td class="indexkey">reader/httpReader/<a class="el" href="httpRequest_8c.html">httpRequest.c</a> <a href="httpRequest_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  39 + <tr><td class="indexkey">server/<a class="el" href="serverInit_8c.html">serverInit.c</a> <a href="serverInit_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  40 + <tr><td class="indexkey">server/<a class="el" href="serverRun_8c.html">serverRun.c</a> <a href="serverRun_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  41 + <tr><td class="indexkey">server/<a class="el" href="serverShutdown_8c.html">serverShutdown.c</a> <a href="serverShutdown_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  42 + <tr><td class="indexkey">system/<a class="el" href="daemonize_8c.html">daemonize.c</a> <a href="daemonize_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  43 + <tr><td class="indexkey">system/<a class="el" href="handleCmdLine_8c.html">handleCmdLine.c</a> <a href="handleCmdLine_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  44 + <tr><td class="indexkey">system/<a class="el" href="logRotate_8c.html">logRotate.c</a> <a href="logRotate_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  45 + <tr><td class="indexkey">system/<a class="el" href="monitor_8c.html">monitor.c</a> <a href="monitor_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  46 + <tr><td class="indexkey">system/<a class="el" href="signalHandling_8c.html">signalHandling.c</a> <a href="signalHandling_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  47 + <tr><td class="indexkey">system/<a class="el" href="socket_8c.html">socket.c</a> <a href="socket_8c-source.html">[code]</a></td><td class="indexvalue"></td></tr>
  48 +</table>
  49 +</div>
  50 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  51 +<a href="http://www.doxygen.org/index.html">
  52 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  53 +</body>
  54 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Data Fields</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 + <div class="tabs">
  23 + <ul>
  24 + <li class="current"><a href="functions.html"><span>All</span></a></li>
  25 + <li><a href="functions_vars.html"><span>Variables</span></a></li>
  26 + </ul>
  27 + </div>
  28 + <div class="tabs">
  29 + <ul>
  30 + <li><a href="#index_b"><span>b</span></a></li>
  31 + <li><a href="#index_c"><span>c</span></a></li>
  32 + <li><a href="#index_d"><span>d</span></a></li>
  33 + <li><a href="#index_h"><span>h</span></a></li>
  34 + <li><a href="#index_k"><span>k</span></a></li>
  35 + <li><a href="#index_l"><span>l</span></a></li>
  36 + <li><a href="#index_m"><span>m</span></a></li>
  37 + <li><a href="#index_n"><span>n</span></a></li>
  38 + <li><a href="#index_p"><span>p</span></a></li>
  39 + <li><a href="#index_r"><span>r</span></a></li>
  40 + <li><a href="#index_s"><span>s</span></a></li>
  41 + <li><a href="#index_v"><span>v</span></a></li>
  42 + <li><a href="#index_w"><span>w</span></a></li>
  43 + </ul>
  44 + </div>
  45 +</div>
  46 +<div class="contents">
  47 +Here is a list of all struct and union fields with links to the structures/unions they belong to:
  48 +<p>
  49 +<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
  50 +<li>body
  51 +: <a class="el" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">tHttpRequest</a>
  52 +<li>bodyLength
  53 +: <a class="el" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">tHttpHeader</a>
  54 +<li>bodyLenRemaining
  55 +: <a class="el" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">tClient</a>
  56 +</ul>
  57 +<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
  58 +<li>clients
  59 +: <a class="el" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">tServer</a>
  60 +</ul>
  61 +<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
  62 +<li>doDaemon
  63 +: <a class="el" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">tAppConfig</a>
  64 +</ul>
  65 +<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
  66 +<li>header
  67 +: <a class="el" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">tHttpRequest</a>
  68 +<li>headers
  69 +: <a class="el" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">tHttpHeader</a>
  70 +<li>headersCount
  71 +: <a class="el" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">tHttpHeader</a>
  72 +<li>httpHeader
  73 +: <a class="el" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">tClient</a>
  74 +<li>httpVersion
  75 +: <a class="el" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">tRequestLine</a>
  76 +</ul>
  77 +<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
  78 +<li>key
  79 +: <a class="el" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">tHttpHeaderLine</a>
  80 +</ul>
  81 +<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
  82 +<li>length
  83 +: <a class="el" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">tHttpRequest</a>
  84 +<li>logPath
  85 +: <a class="el" href="structtServer.html#17180f100090e101569a3a95934c38aa">tServer</a>
  86 +, <a class="el" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">tAppConfig</a>
  87 +</ul>
  88 +<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
  89 +<li>maxFd
  90 +: <a class="el" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">tServer</a>
  91 +<li>maxPending
  92 +: <a class="el" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">tAppConfig</a>
  93 +<li>method
  94 +: <a class="el" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">tRequestLine</a>
  95 +</ul>
  96 +<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
  97 +<li>namePat
  98 +: <a class="el" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">tAppConfig</a>
  99 +, <a class="el" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">tServer</a>
  100 +</ul>
  101 +<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
  102 +<li>parser
  103 +: <a class="el" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">tClient</a>
  104 +<li>port
  105 +: <a class="el" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">tAppConfig</a>
  106 +</ul>
  107 +<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
  108 +<li>readBuffer
  109 +: <a class="el" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">tClient</a>
  110 +<li>readBufMult
  111 +: <a class="el" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">tClient</a>
  112 +<li>readPos
  113 +: <a class="el" href="structtClient.html#0948ef13430298f28cb48199119136c1">tClient</a>
  114 +<li>remoteAddr
  115 +: <a class="el" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">tClient</a>
  116 +<li>req
  117 +: <a class="el" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">tHttpHeader</a>
  118 +<li>requestUri
  119 +: <a class="el" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">tRequestLine</a>
  120 +</ul>
  121 +<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
  122 +<li>servSock
  123 +: <a class="el" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">tServer</a>
  124 +<li>socket
  125 +: <a class="el" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">tClient</a>
  126 +<li>socks
  127 +: <a class="el" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">tServer</a>
  128 +</ul>
  129 +<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
  130 +<li>value
  131 +: <a class="el" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">tHttpHeaderLine</a>
  132 +<li>verbose
  133 +: <a class="el" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">tAppConfig</a>
  134 +</ul>
  135 +<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
  136 +<li>wHandle
  137 +: <a class="el" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">tServer</a>
  138 +<li>writeBuffer
  139 +: <a class="el" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">tClient</a>
  140 +<li>writePos
  141 +: <a class="el" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">tClient</a>
  142 +</ul>
  143 +</div>
  144 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  145 +<a href="http://www.doxygen.org/index.html">
  146 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  147 +</body>
  148 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Data Fields - Variables</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 + <div class="tabs">
  23 + <ul>
  24 + <li><a href="functions.html"><span>All</span></a></li>
  25 + <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
  26 + </ul>
  27 + </div>
  28 + <div class="tabs">
  29 + <ul>
  30 + <li><a href="#index_b"><span>b</span></a></li>
  31 + <li><a href="#index_c"><span>c</span></a></li>
  32 + <li><a href="#index_d"><span>d</span></a></li>
  33 + <li><a href="#index_h"><span>h</span></a></li>
  34 + <li><a href="#index_k"><span>k</span></a></li>
  35 + <li><a href="#index_l"><span>l</span></a></li>
  36 + <li><a href="#index_m"><span>m</span></a></li>
  37 + <li><a href="#index_n"><span>n</span></a></li>
  38 + <li><a href="#index_p"><span>p</span></a></li>
  39 + <li><a href="#index_r"><span>r</span></a></li>
  40 + <li><a href="#index_s"><span>s</span></a></li>
  41 + <li><a href="#index_v"><span>v</span></a></li>
  42 + <li><a href="#index_w"><span>w</span></a></li>
  43 + </ul>
  44 + </div>
  45 +</div>
  46 +<div class="contents">
  47 +&nbsp;
  48 +<p>
  49 +<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
  50 +<li>body
  51 +: <a class="el" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">tHttpRequest</a>
  52 +<li>bodyLength
  53 +: <a class="el" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">tHttpHeader</a>
  54 +<li>bodyLenRemaining
  55 +: <a class="el" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">tClient</a>
  56 +</ul>
  57 +<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
  58 +<li>clients
  59 +: <a class="el" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">tServer</a>
  60 +</ul>
  61 +<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
  62 +<li>doDaemon
  63 +: <a class="el" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">tAppConfig</a>
  64 +</ul>
  65 +<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
  66 +<li>header
  67 +: <a class="el" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">tHttpRequest</a>
  68 +<li>headers
  69 +: <a class="el" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">tHttpHeader</a>
  70 +<li>headersCount
  71 +: <a class="el" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">tHttpHeader</a>
  72 +<li>httpHeader
  73 +: <a class="el" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">tClient</a>
  74 +<li>httpVersion
  75 +: <a class="el" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">tRequestLine</a>
  76 +</ul>
  77 +<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
  78 +<li>key
  79 +: <a class="el" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">tHttpHeaderLine</a>
  80 +</ul>
  81 +<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
  82 +<li>length
  83 +: <a class="el" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">tHttpRequest</a>
  84 +<li>logPath
  85 +: <a class="el" href="structtServer.html#17180f100090e101569a3a95934c38aa">tServer</a>
  86 +, <a class="el" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">tAppConfig</a>
  87 +</ul>
  88 +<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
  89 +<li>maxFd
  90 +: <a class="el" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">tServer</a>
  91 +<li>maxPending
  92 +: <a class="el" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">tAppConfig</a>
  93 +<li>method
  94 +: <a class="el" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">tRequestLine</a>
  95 +</ul>
  96 +<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
  97 +<li>namePat
  98 +: <a class="el" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">tAppConfig</a>
  99 +, <a class="el" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">tServer</a>
  100 +</ul>
  101 +<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
  102 +<li>parser
  103 +: <a class="el" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">tClient</a>
  104 +<li>port
  105 +: <a class="el" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">tAppConfig</a>
  106 +</ul>
  107 +<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
  108 +<li>readBuffer
  109 +: <a class="el" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">tClient</a>
  110 +<li>readBufMult
  111 +: <a class="el" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">tClient</a>
  112 +<li>readPos
  113 +: <a class="el" href="structtClient.html#0948ef13430298f28cb48199119136c1">tClient</a>
  114 +<li>remoteAddr
  115 +: <a class="el" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">tClient</a>
  116 +<li>req
  117 +: <a class="el" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">tHttpHeader</a>
  118 +<li>requestUri
  119 +: <a class="el" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">tRequestLine</a>
  120 +</ul>
  121 +<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
  122 +<li>servSock
  123 +: <a class="el" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">tServer</a>
  124 +<li>socket
  125 +: <a class="el" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">tClient</a>
  126 +<li>socks
  127 +: <a class="el" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">tServer</a>
  128 +</ul>
  129 +<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
  130 +<li>value
  131 +: <a class="el" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">tHttpHeaderLine</a>
  132 +<li>verbose
  133 +: <a class="el" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">tAppConfig</a>
  134 +</ul>
  135 +<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
  136 +<li>wHandle
  137 +: <a class="el" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">tServer</a>
  138 +<li>writeBuffer
  139 +: <a class="el" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">tClient</a>
  140 +<li>writePos
  141 +: <a class="el" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">tClient</a>
  142 +</ul>
  143 +</div>
  144 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  145 +<a href="http://www.doxygen.org/index.html">
  146 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  147 +</body>
  148 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Data Fields</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li class="current"><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 + <div class="tabs">
  23 + <ul>
  24 + <li class="current"><a href="globals.html"><span>All</span></a></li>
  25 + <li><a href="globals_func.html"><span>Functions</span></a></li>
  26 + <li><a href="globals_vars.html"><span>Variables</span></a></li>
  27 + <li><a href="globals_defs.html"><span>Defines</span></a></li>
  28 + </ul>
  29 + </div>
  30 + <div class="tabs">
  31 + <ul>
  32 + <li><a href="#index_a"><span>a</span></a></li>
  33 + <li><a href="#index_c"><span>c</span></a></li>
  34 + <li><a href="#index_d"><span>d</span></a></li>
  35 + <li><a href="#index_e"><span>e</span></a></li>
  36 + <li><a href="#index_f"><span>f</span></a></li>
  37 + <li><a href="#index_g"><span>g</span></a></li>
  38 + <li><a href="#index_h"><span>h</span></a></li>
  39 + <li><a href="#index_i"><span>i</span></a></li>
  40 + <li><a href="#index_l"><span>l</span></a></li>
  41 + <li><a href="#index_m"><span>m</span></a></li>
  42 + <li><a href="#index_r"><span>r</span></a></li>
  43 + <li><a href="#index_s"><span>s</span></a></li>
  44 + <li><a href="#index_t"><span>t</span></a></li>
  45 + <li><a href="#index_v"><span>v</span></a></li>
  46 + <li><a href="#index_w"><span>w</span></a></li>
  47 + </ul>
  48 + </div>
  49 +</div>
  50 +<div class="contents">
  51 +Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
  52 +<p>
  53 +<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
  54 +<li>acceptConnection()
  55 +: <a class="el" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">socket.h</a>
  56 +, <a class="el" href="socket_8c.html#f09ba488c48f40f8d1f133a4441deb25">socket.c</a>
  57 +</ul>
  58 +<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
  59 +<li>clientClose()
  60 +: <a class="el" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">client.h</a>
  61 +, <a class="el" href="clientClose_8c.html#a9dad65338aa78062b23a924ae1d2b59">clientClose.c</a>
  62 +<li>clientConsumeLine()
  63 +: <a class="el" href="clientRead_8c.html#8363f6facea09bd36e288a51c983aed2">clientRead.c</a>
  64 +<li>clientGetLine()
  65 +: <a class="el" href="client_8h.html#9741eb2a0853766868828c722e67c068">client.h</a>
  66 +, <a class="el" href="clientRead_8c.html#fbcefe4f20179c643fdff8007235325c">clientRead.c</a>
  67 +<li>CLIENTMULTMAX
  68 +: <a class="el" href="client_8h.html#eefa2efc8515c7f8334de344e8a07fbf">client.h</a>
  69 +<li>clientRead()
  70 +: <a class="el" href="clientRead_8c.html#6504ff36553f8008b9ee1d52aa977740">clientRead.c</a>
  71 +, <a class="el" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">client.h</a>
  72 +<li>clientRemoveLine()
  73 +: <a class="el" href="clientRead_8c.html#8cbd479139f4645f07ae0b7c18202fef">clientRead.c</a>
  74 +, <a class="el" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">client.h</a>
  75 +<li>clientWrite()
  76 +: <a class="el" href="client_8h.html#ab1a321bfd432ac9ec8818ad3eb6e591">client.h</a>
  77 +</ul>
  78 +<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
  79 +<li>daemonize()
  80 +: <a class="el" href="daemonize_8h.html#29b0af1da2432bcc90721c0b62f4e660">daemonize.h</a>
  81 +, <a class="el" href="daemonize_8c.html#29b0af1da2432bcc90721c0b62f4e660">daemonize.c</a>
  82 +<li>DEFAULTPATH
  83 +: <a class="el" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">appConfig.h</a>
  84 +<li>DEFAULTPORT
  85 +: <a class="el" href="appConfig_8h.html#3db4dba8d56385b62759b89c98cae447">appConfig.h</a>
  86 +<li>Depth
  87 +: <a class="el" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">serverRun.c</a>
  88 +<li>doShutdown
  89 +: <a class="el" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">signalHandling.h</a>
  90 +, <a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">signalHandling.c</a>
  91 +</ul>
  92 +<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
  93 +<li>end()
  94 +: <a class="el" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">serverRun.c</a>
  95 +<li>EOB
  96 +: <a class="el" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">clientRead.c</a>
  97 +</ul>
  98 +<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
  99 +<li>freeHttpHeader()
  100 +: <a class="el" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">httpRequest.h</a>
  101 +, <a class="el" href="httpRequest_8c.html#86d86da69aefe2067f750c80e626de7c">httpRequest.c</a>
  102 +<li>freeHttpRequest()
  103 +: <a class="el" href="httpRequest_8h.html#1bba1865657c64c0e1971a45ee6117ab">httpRequest.h</a>
  104 +, <a class="el" href="httpRequest_8c.html#d1d9e65b1761d1d5f809314b4b05e772">httpRequest.c</a>
  105 +</ul>
  106 +<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
  107 +<li>GET_MULTIPLIER
  108 +: <a class="el" href="clientRead_8c.html#3baabeba3e06eb1b8761363a58f8391b">clientRead.c</a>
  109 +<li>getHttpRequest()
  110 +: <a class="el" href="httpRequest_8c.html#9a6b00ad980ca9a2c5023ec1a802106b">httpRequest.c</a>
  111 +, <a class="el" href="httpRequest_8h.html#59d765731e7d39f5583ef175950becb1">httpRequest.h</a>
  112 +</ul>
  113 +<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
  114 +<li>handleCmdLine()
  115 +: <a class="el" href="appConfig_8h.html#3755d793d10d6e5793ed5086a0b22964">appConfig.h</a>
  116 +, <a class="el" href="handleCmdLine_8c.html#3755d793d10d6e5793ed5086a0b22964">handleCmdLine.c</a>
  117 +<li>HTTP_REQ_CONNECT
  118 +: <a class="el" href="httpRequest_8h.html#5e49980e0d7d4080e2cececd00796981">httpRequest.h</a>
  119 +<li>HTTP_REQ_DELETE
  120 +: <a class="el" href="httpRequest_8h.html#2894c25df3d2e54885cc414aa9731811">httpRequest.h</a>
  121 +<li>HTTP_REQ_GET
  122 +: <a class="el" href="httpRequest_8h.html#783bb94ef6eee3041b08244fcf43304f">httpRequest.h</a>
  123 +<li>HTTP_REQ_HEAD
  124 +: <a class="el" href="httpRequest_8h.html#99dd5b1289103eee62ebd66082f03e98">httpRequest.h</a>
  125 +<li>HTTP_REQ_OPTIONS
  126 +: <a class="el" href="httpRequest_8h.html#bcd1460716fe0d7d7bbfab4d8df7431b">httpRequest.h</a>
  127 +<li>HTTP_REQ_POST
  128 +: <a class="el" href="httpRequest_8h.html#b113eaf10da1f4291202f81bea630f5b">httpRequest.h</a>
  129 +<li>HTTP_REQ_PUT
  130 +: <a class="el" href="httpRequest_8h.html#af09691edc99a286c60427e1f390d7bd">httpRequest.h</a>
  131 +<li>HTTP_REQ_TRACE
  132 +: <a class="el" href="httpRequest_8h.html#21cd537dafe8cd458fbb1eeb1208f4a8">httpRequest.h</a>
  133 +<li>httpHeaderGet()
  134 +: <a class="el" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpRequest.h</a>
  135 +, <a class="el" href="httpRequest_8c.html#fd4f839160f6d97ad28e05ee1ce81188">httpRequest.c</a>
  136 +<li>httpHeaderGetLine()
  137 +: <a class="el" href="httpRequest_8c.html#c96f6dae9ced89eb2ae8ac556918e367">httpRequest.c</a>
  138 +<li>httpHeaderIsComplete()
  139 +: <a class="el" href="httpRequest_8c.html#d5d9232083e5890588d5e1840341a48b">httpRequest.c</a>
  140 +, <a class="el" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpRequest.h</a>
  141 +<li>httpHeaderIsStarted()
  142 +: <a class="el" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpRequest.h</a>
  143 +, <a class="el" href="httpRequest_8c.html#29982601e2121cd75800202f5716c7f5">httpRequest.c</a>
  144 +<li>httpHeaderParseRequestLine()
  145 +: <a class="el" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpRequest.h</a>
  146 +, <a class="el" href="httpRequest_8c.html#e18ae9e899c3c951308bb2ec4bd810f5">httpRequest.c</a>
  147 +<li>httpRequest
  148 +: <a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest.c</a>
  149 +, <a class="el" href="httpRequest_8h.html#e7110ef069c94769a78296dc38ab86ca">httpRequest.h</a>
  150 +</ul>
  151 +<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
  152 +<li>init_signals()
  153 +: <a class="el" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">signalHandling.h</a>
  154 +, <a class="el" href="signalHandling_8c.html#1de31bdef82f181f8045b94ae0933916">signalHandling.c</a>
  155 +<li>initServerSocket()
  156 +: <a class="el" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">socket.h</a>
  157 +, <a class="el" href="socket_8c.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">socket.c</a>
  158 +</ul>
  159 +<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
  160 +<li>LOGNAMEPATTERN
  161 +: <a class="el" href="appConfig_8h.html#9a98b2d0f973e357020c1274ec5b56c0">appConfig.h</a>
  162 +<li>logRotate()
  163 +: <a class="el" href="logRotate_8c.html#70a3ebded819019c99ad001f29e082de">logRotate.c</a>
  164 +, <a class="el" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate.h</a>
  165 +</ul>
  166 +<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
  167 +<li>MAX
  168 +: <a class="el" href="appConfig_8h.html#acc3ee1a7f283f8ef65cea31f4436a95">appConfig.h</a>
  169 +<li>MAXCLIENTS
  170 +: <a class="el" href="appConfig_8h.html#ce5c08f66edfc6ae44edaeef6b6101b6">appConfig.h</a>
  171 +<li>MAXPENDING
  172 +: <a class="el" href="appConfig_8h.html#f77ed3e65a7b1a9341603d152a1404df">appConfig.h</a>
  173 +<li>MIN
  174 +: <a class="el" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">appConfig.h</a>
  175 +<li>MON_CRITICAL
  176 +: <a class="el" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">monitor.h</a>
  177 +<li>MON_FAILURE
  178 +: <a class="el" href="monitor_8h.html#c41f84ee1d999369a9496a2c49c4181c">monitor.h</a>
  179 +<li>MON_INFO
  180 +: <a class="el" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">monitor.h</a>
  181 +<li>MON_WARNING
  182 +: <a class="el" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">monitor.h</a>
  183 +<li>monitor()
  184 +: <a class="el" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor.h</a>
  185 +, <a class="el" href="monitor_8c.html#afab1757e8c3bc9c5143490b256cb684">monitor.c</a>
  186 +<li>MONITORCMD
  187 +: <a class="el" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">monitor.c</a>
  188 +<li>MONITORNAME
  189 +: <a class="el" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">monitor.c</a>
  190 +<li>MONITORTYPE
  191 +: <a class="el" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">monitor.c</a>
  192 +</ul>
  193 +<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
  194 +<li>READ_ERR_LONGLINE
  195 +: <a class="el" href="client_8h.html#f150df8f008146f177d67862d2569834">client.h</a>
  196 +<li>READ_ERR_MEMORY
  197 +: <a class="el" href="client_8h.html#4f090ce41ed48b83e309d8fce71db4ab">client.h</a>
  198 +<li>READBUFSIZE
  199 +: <a class="el" href="client_8h.html#a0534241791f23ec8098503582406166">client.h</a>
  200 +, <a class="el" href="appConfig_8h.html#a0534241791f23ec8098503582406166">appConfig.h</a>
  201 +<li>REMAINING
  202 +: <a class="el" href="clientRead_8c.html#b6f9cfea308c9f485d4b00b60fd2f6cd">clientRead.c</a>
  203 +<li>RESPONSE
  204 +: <a class="el" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">serverRun.c</a>
  205 +</ul>
  206 +<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
  207 +<li>serverInit()
  208 +: <a class="el" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">server.h</a>
  209 +, <a class="el" href="serverInit_8c.html#68050069ed3a2e05cb02440090c89a1f">serverInit.c</a>
  210 +<li>serverRun()
  211 +: <a class="el" href="serverRun_8c.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun.c</a>
  212 +, <a class="el" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">server.h</a>
  213 +<li>serverShutdown()
  214 +: <a class="el" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">server.h</a>
  215 +, <a class="el" href="serverShutdown_8c.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown.c</a>
  216 +<li>severity
  217 +: <a class="el" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">monitor.c</a>
  218 +<li>SPACE
  219 +: <a class="el" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">httpRequest.c</a>
  220 +<li>start()
  221 +: <a class="el" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">serverRun.c</a>
  222 +<li>syslogMonitor()
  223 +: <a class="el" href="monitor_8c.html#13e7bf0022db0d9f5dd6aeb82ec69999">monitor.c</a>
  224 +, <a class="el" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">monitor.h</a>
  225 +</ul>
  226 +<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
  227 +<li>terminate()
  228 +: <a class="el" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">signalHandling.h</a>
  229 +, <a class="el" href="signalHandling_8c.html#64612b9588ed0fb05d70680db02b3630">signalHandling.c</a>
  230 +</ul>
  231 +<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
  232 +<li>verbose
  233 +: <a class="el" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">client.h</a>
  234 +, <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">socket.c</a>
  235 +, <a class="el" href="logRotate_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">logRotate.c</a>
  236 +</ul>
  237 +<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
  238 +<li>writeBuffer()
  239 +: <a class="el" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer.h</a>
  240 +, <a class="el" href="writeBuffer_8c.html#a947cab623514e5a9c9700bca074b77e">writeBuffer.c</a>
  241 +</ul>
  242 +</div>
  243 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  244 +<a href="http://www.doxygen.org/index.html">
  245 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  246 +</body>
  247 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Data Fields</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li class="current"><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 + <div class="tabs">
  23 + <ul>
  24 + <li><a href="globals.html"><span>All</span></a></li>
  25 + <li><a href="globals_func.html"><span>Functions</span></a></li>
  26 + <li><a href="globals_vars.html"><span>Variables</span></a></li>
  27 + <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
  28 + </ul>
  29 + </div>
  30 + <div class="tabs">
  31 + <ul>
  32 + <li><a href="#index_c"><span>c</span></a></li>
  33 + <li><a href="#index_d"><span>d</span></a></li>
  34 + <li><a href="#index_e"><span>e</span></a></li>
  35 + <li><a href="#index_g"><span>g</span></a></li>
  36 + <li><a href="#index_h"><span>h</span></a></li>
  37 + <li><a href="#index_l"><span>l</span></a></li>
  38 + <li><a href="#index_m"><span>m</span></a></li>
  39 + <li><a href="#index_r"><span>r</span></a></li>
  40 + <li><a href="#index_s"><span>s</span></a></li>
  41 + </ul>
  42 + </div>
  43 +</div>
  44 +<div class="contents">
  45 +&nbsp;
  46 +<p>
  47 +<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
  48 +<li>CLIENTMULTMAX
  49 +: <a class="el" href="client_8h.html#eefa2efc8515c7f8334de344e8a07fbf">client.h</a>
  50 +</ul>
  51 +<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
  52 +<li>DEFAULTPATH
  53 +: <a class="el" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">appConfig.h</a>
  54 +<li>DEFAULTPORT
  55 +: <a class="el" href="appConfig_8h.html#3db4dba8d56385b62759b89c98cae447">appConfig.h</a>
  56 +</ul>
  57 +<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
  58 +<li>EOB
  59 +: <a class="el" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">clientRead.c</a>
  60 +</ul>
  61 +<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
  62 +<li>GET_MULTIPLIER
  63 +: <a class="el" href="clientRead_8c.html#3baabeba3e06eb1b8761363a58f8391b">clientRead.c</a>
  64 +</ul>
  65 +<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
  66 +<li>HTTP_REQ_CONNECT
  67 +: <a class="el" href="httpRequest_8h.html#5e49980e0d7d4080e2cececd00796981">httpRequest.h</a>
  68 +<li>HTTP_REQ_DELETE
  69 +: <a class="el" href="httpRequest_8h.html#2894c25df3d2e54885cc414aa9731811">httpRequest.h</a>
  70 +<li>HTTP_REQ_GET
  71 +: <a class="el" href="httpRequest_8h.html#783bb94ef6eee3041b08244fcf43304f">httpRequest.h</a>
  72 +<li>HTTP_REQ_HEAD
  73 +: <a class="el" href="httpRequest_8h.html#99dd5b1289103eee62ebd66082f03e98">httpRequest.h</a>
  74 +<li>HTTP_REQ_OPTIONS
  75 +: <a class="el" href="httpRequest_8h.html#bcd1460716fe0d7d7bbfab4d8df7431b">httpRequest.h</a>
  76 +<li>HTTP_REQ_POST
  77 +: <a class="el" href="httpRequest_8h.html#b113eaf10da1f4291202f81bea630f5b">httpRequest.h</a>
  78 +<li>HTTP_REQ_PUT
  79 +: <a class="el" href="httpRequest_8h.html#af09691edc99a286c60427e1f390d7bd">httpRequest.h</a>
  80 +<li>HTTP_REQ_TRACE
  81 +: <a class="el" href="httpRequest_8h.html#21cd537dafe8cd458fbb1eeb1208f4a8">httpRequest.h</a>
  82 +</ul>
  83 +<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
  84 +<li>LOGNAMEPATTERN
  85 +: <a class="el" href="appConfig_8h.html#9a98b2d0f973e357020c1274ec5b56c0">appConfig.h</a>
  86 +</ul>
  87 +<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
  88 +<li>MAX
  89 +: <a class="el" href="appConfig_8h.html#acc3ee1a7f283f8ef65cea31f4436a95">appConfig.h</a>
  90 +<li>MAXCLIENTS
  91 +: <a class="el" href="appConfig_8h.html#ce5c08f66edfc6ae44edaeef6b6101b6">appConfig.h</a>
  92 +<li>MAXPENDING
  93 +: <a class="el" href="appConfig_8h.html#f77ed3e65a7b1a9341603d152a1404df">appConfig.h</a>
  94 +<li>MIN
  95 +: <a class="el" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">appConfig.h</a>
  96 +<li>MON_CRITICAL
  97 +: <a class="el" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">monitor.h</a>
  98 +<li>MON_FAILURE
  99 +: <a class="el" href="monitor_8h.html#c41f84ee1d999369a9496a2c49c4181c">monitor.h</a>
  100 +<li>MON_INFO
  101 +: <a class="el" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">monitor.h</a>
  102 +<li>MON_WARNING
  103 +: <a class="el" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">monitor.h</a>
  104 +<li>MONITORCMD
  105 +: <a class="el" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">monitor.c</a>
  106 +<li>MONITORNAME
  107 +: <a class="el" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">monitor.c</a>
  108 +<li>MONITORTYPE
  109 +: <a class="el" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">monitor.c</a>
  110 +</ul>
  111 +<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
  112 +<li>READ_ERR_LONGLINE
  113 +: <a class="el" href="client_8h.html#f150df8f008146f177d67862d2569834">client.h</a>
  114 +<li>READ_ERR_MEMORY
  115 +: <a class="el" href="client_8h.html#4f090ce41ed48b83e309d8fce71db4ab">client.h</a>
  116 +<li>READBUFSIZE
  117 +: <a class="el" href="client_8h.html#a0534241791f23ec8098503582406166">client.h</a>
  118 +, <a class="el" href="appConfig_8h.html#a0534241791f23ec8098503582406166">appConfig.h</a>
  119 +<li>REMAINING
  120 +: <a class="el" href="clientRead_8c.html#b6f9cfea308c9f485d4b00b60fd2f6cd">clientRead.c</a>
  121 +<li>RESPONSE
  122 +: <a class="el" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">serverRun.c</a>
  123 +</ul>
  124 +<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
  125 +<li>SPACE
  126 +: <a class="el" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">httpRequest.c</a>
  127 +</ul>
  128 +</div>
  129 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  130 +<a href="http://www.doxygen.org/index.html">
  131 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  132 +</body>
  133 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Data Fields</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li class="current"><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 + <div class="tabs">
  23 + <ul>
  24 + <li><a href="globals.html"><span>All</span></a></li>
  25 + <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
  26 + <li><a href="globals_vars.html"><span>Variables</span></a></li>
  27 + <li><a href="globals_defs.html"><span>Defines</span></a></li>
  28 + </ul>
  29 + </div>
  30 + <div class="tabs">
  31 + <ul>
  32 + <li><a href="#index_a"><span>a</span></a></li>
  33 + <li><a href="#index_c"><span>c</span></a></li>
  34 + <li><a href="#index_d"><span>d</span></a></li>
  35 + <li><a href="#index_e"><span>e</span></a></li>
  36 + <li><a href="#index_f"><span>f</span></a></li>
  37 + <li><a href="#index_g"><span>g</span></a></li>
  38 + <li><a href="#index_h"><span>h</span></a></li>
  39 + <li><a href="#index_i"><span>i</span></a></li>
  40 + <li><a href="#index_l"><span>l</span></a></li>
  41 + <li><a href="#index_m"><span>m</span></a></li>
  42 + <li><a href="#index_s"><span>s</span></a></li>
  43 + <li><a href="#index_t"><span>t</span></a></li>
  44 + <li><a href="#index_w"><span>w</span></a></li>
  45 + </ul>
  46 + </div>
  47 +</div>
  48 +<div class="contents">
  49 +&nbsp;
  50 +<p>
  51 +<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
  52 +<li>acceptConnection()
  53 +: <a class="el" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">socket.h</a>
  54 +, <a class="el" href="socket_8c.html#f09ba488c48f40f8d1f133a4441deb25">socket.c</a>
  55 +</ul>
  56 +<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
  57 +<li>clientClose()
  58 +: <a class="el" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">client.h</a>
  59 +, <a class="el" href="clientClose_8c.html#a9dad65338aa78062b23a924ae1d2b59">clientClose.c</a>
  60 +<li>clientConsumeLine()
  61 +: <a class="el" href="clientRead_8c.html#8363f6facea09bd36e288a51c983aed2">clientRead.c</a>
  62 +<li>clientGetLine()
  63 +: <a class="el" href="client_8h.html#9741eb2a0853766868828c722e67c068">client.h</a>
  64 +, <a class="el" href="clientRead_8c.html#fbcefe4f20179c643fdff8007235325c">clientRead.c</a>
  65 +<li>clientRead()
  66 +: <a class="el" href="clientRead_8c.html#6504ff36553f8008b9ee1d52aa977740">clientRead.c</a>
  67 +, <a class="el" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">client.h</a>
  68 +<li>clientRemoveLine()
  69 +: <a class="el" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">client.h</a>
  70 +, <a class="el" href="clientRead_8c.html#8cbd479139f4645f07ae0b7c18202fef">clientRead.c</a>
  71 +<li>clientWrite()
  72 +: <a class="el" href="client_8h.html#ab1a321bfd432ac9ec8818ad3eb6e591">client.h</a>
  73 +</ul>
  74 +<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
  75 +<li>daemonize()
  76 +: <a class="el" href="daemonize_8h.html#29b0af1da2432bcc90721c0b62f4e660">daemonize.h</a>
  77 +, <a class="el" href="daemonize_8c.html#29b0af1da2432bcc90721c0b62f4e660">daemonize.c</a>
  78 +</ul>
  79 +<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
  80 +<li>end()
  81 +: <a class="el" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">serverRun.c</a>
  82 +</ul>
  83 +<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
  84 +<li>freeHttpHeader()
  85 +: <a class="el" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">httpRequest.h</a>
  86 +, <a class="el" href="httpRequest_8c.html#86d86da69aefe2067f750c80e626de7c">httpRequest.c</a>
  87 +<li>freeHttpRequest()
  88 +: <a class="el" href="httpRequest_8h.html#1bba1865657c64c0e1971a45ee6117ab">httpRequest.h</a>
  89 +, <a class="el" href="httpRequest_8c.html#d1d9e65b1761d1d5f809314b4b05e772">httpRequest.c</a>
  90 +</ul>
  91 +<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
  92 +<li>getHttpRequest()
  93 +: <a class="el" href="httpRequest_8h.html#59d765731e7d39f5583ef175950becb1">httpRequest.h</a>
  94 +, <a class="el" href="httpRequest_8c.html#9a6b00ad980ca9a2c5023ec1a802106b">httpRequest.c</a>
  95 +</ul>
  96 +<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
  97 +<li>handleCmdLine()
  98 +: <a class="el" href="appConfig_8h.html#3755d793d10d6e5793ed5086a0b22964">appConfig.h</a>
  99 +, <a class="el" href="handleCmdLine_8c.html#3755d793d10d6e5793ed5086a0b22964">handleCmdLine.c</a>
  100 +<li>httpHeaderGet()
  101 +: <a class="el" href="httpRequest_8c.html#fd4f839160f6d97ad28e05ee1ce81188">httpRequest.c</a>
  102 +, <a class="el" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpRequest.h</a>
  103 +<li>httpHeaderGetLine()
  104 +: <a class="el" href="httpRequest_8c.html#c96f6dae9ced89eb2ae8ac556918e367">httpRequest.c</a>
  105 +<li>httpHeaderIsComplete()
  106 +: <a class="el" href="httpRequest_8c.html#d5d9232083e5890588d5e1840341a48b">httpRequest.c</a>
  107 +, <a class="el" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpRequest.h</a>
  108 +<li>httpHeaderIsStarted()
  109 +: <a class="el" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpRequest.h</a>
  110 +, <a class="el" href="httpRequest_8c.html#29982601e2121cd75800202f5716c7f5">httpRequest.c</a>
  111 +<li>httpHeaderParseRequestLine()
  112 +: <a class="el" href="httpRequest_8c.html#e18ae9e899c3c951308bb2ec4bd810f5">httpRequest.c</a>
  113 +, <a class="el" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpRequest.h</a>
  114 +</ul>
  115 +<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
  116 +<li>init_signals()
  117 +: <a class="el" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">signalHandling.h</a>
  118 +, <a class="el" href="signalHandling_8c.html#1de31bdef82f181f8045b94ae0933916">signalHandling.c</a>
  119 +<li>initServerSocket()
  120 +: <a class="el" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">socket.h</a>
  121 +, <a class="el" href="socket_8c.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">socket.c</a>
  122 +</ul>
  123 +<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
  124 +<li>logRotate()
  125 +: <a class="el" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate.h</a>
  126 +, <a class="el" href="logRotate_8c.html#70a3ebded819019c99ad001f29e082de">logRotate.c</a>
  127 +</ul>
  128 +<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
  129 +<li>monitor()
  130 +: <a class="el" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor.h</a>
  131 +, <a class="el" href="monitor_8c.html#afab1757e8c3bc9c5143490b256cb684">monitor.c</a>
  132 +</ul>
  133 +<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
  134 +<li>serverInit()
  135 +: <a class="el" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">server.h</a>
  136 +, <a class="el" href="serverInit_8c.html#68050069ed3a2e05cb02440090c89a1f">serverInit.c</a>
  137 +<li>serverRun()
  138 +: <a class="el" href="serverRun_8c.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun.c</a>
  139 +, <a class="el" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">server.h</a>
  140 +<li>serverShutdown()
  141 +: <a class="el" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">server.h</a>
  142 +, <a class="el" href="serverShutdown_8c.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown.c</a>
  143 +<li>start()
  144 +: <a class="el" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">serverRun.c</a>
  145 +<li>syslogMonitor()
  146 +: <a class="el" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">monitor.h</a>
  147 +, <a class="el" href="monitor_8c.html#13e7bf0022db0d9f5dd6aeb82ec69999">monitor.c</a>
  148 +</ul>
  149 +<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
  150 +<li>terminate()
  151 +: <a class="el" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">signalHandling.h</a>
  152 +, <a class="el" href="signalHandling_8c.html#64612b9588ed0fb05d70680db02b3630">signalHandling.c</a>
  153 +</ul>
  154 +<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
  155 +<li>writeBuffer()
  156 +: <a class="el" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer.h</a>
  157 +, <a class="el" href="writeBuffer_8c.html#a947cab623514e5a9c9700bca074b77e">writeBuffer.c</a>
  158 +</ul>
  159 +</div>
  160 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  161 +<a href="http://www.doxygen.org/index.html">
  162 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  163 +</body>
  164 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Data Fields</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li class="current"><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 + <div class="tabs">
  23 + <ul>
  24 + <li><a href="globals.html"><span>All</span></a></li>
  25 + <li><a href="globals_func.html"><span>Functions</span></a></li>
  26 + <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
  27 + <li><a href="globals_defs.html"><span>Defines</span></a></li>
  28 + </ul>
  29 + </div>
  30 +</div>
  31 +<div class="contents">
  32 +&nbsp;
  33 +<p>
  34 +<ul>
  35 +<li>Depth
  36 +: <a class="el" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">serverRun.c</a>
  37 +<li>doShutdown
  38 +: <a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">signalHandling.c</a>
  39 +, <a class="el" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">signalHandling.h</a>
  40 +<li>httpRequest
  41 +: <a class="el" href="httpRequest_8h.html#e7110ef069c94769a78296dc38ab86ca">httpRequest.h</a>
  42 +, <a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest.c</a>
  43 +<li>severity
  44 +: <a class="el" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">monitor.c</a>
  45 +<li>verbose
  46 +: <a class="el" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">client.h</a>
  47 +, <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">socket.c</a>
  48 +, <a class="el" href="logRotate_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">logRotate.c</a>
  49 +</ul>
  50 +</div>
  51 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  52 +<a href="http://www.doxygen.org/index.html">
  53 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  54 +</body>
  55 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/handleCmdLine.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>system/handleCmdLine.c</h1><a href="handleCmdLine_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for getopt */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;string.h&gt;</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include "../include/appConfig.h"</span>
  28 +<a name="l00007"></a>00007
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a>00009 <span class="keywordtype">int</span>
  31 +<a name="l00010"></a><a class="code" href="handleCmdLine_8c.html#3755d793d10d6e5793ed5086a0b22964">00010</a> <a class="code" href="appConfig_8h.html#3755d793d10d6e5793ed5086a0b22964">handleCmdLine</a>(<a class="code" href="structtAppConfig.html">tAppConfig</a> * config, <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])
  32 +<a name="l00011"></a>00011 {
  33 +<a name="l00012"></a>00012 <span class="keywordtype">int</span> opt;
  34 +<a name="l00013"></a>00013
  35 +<a name="l00014"></a>00014 <span class="keywordflow">while</span> ((opt = getopt(argc, argv, <span class="stringliteral">"Dvp:l:n:b:"</span>)) != -1) {
  36 +<a name="l00015"></a>00015 <span class="keywordflow">switch</span> (opt) {
  37 +<a name="l00016"></a>00016 <span class="keywordflow">case</span> <span class="charliteral">'p'</span>:
  38 +<a name="l00017"></a>00017 <span class="comment">/* port */</span>
  39 +<a name="l00018"></a>00018 config-&gt;<a class="code" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">port</a> = atoi(optarg);
  40 +<a name="l00019"></a>00019 <span class="keywordflow">break</span>;
  41 +<a name="l00020"></a>00020
  42 +<a name="l00021"></a>00021 <span class="keywordflow">case</span> <span class="charliteral">'l'</span>:
  43 +<a name="l00022"></a>00022 <span class="comment">/* logPath */</span>
  44 +<a name="l00023"></a>00023 strncpy(config-&gt;<a class="code" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">logPath</a>, optarg, <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">logPath</a>)-1);
  45 +<a name="l00024"></a>00024 <span class="keywordflow">break</span>;
  46 +<a name="l00025"></a>00025
  47 +<a name="l00026"></a>00026 <span class="keywordflow">case</span> <span class="charliteral">'n'</span>:
  48 +<a name="l00027"></a>00027 <span class="comment">/* logNamePattern */</span>
  49 +<a name="l00028"></a>00028 strncpy(config-&gt;<a class="code" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">namePat</a>, optarg, <span class="keyword">sizeof</span>(config-&gt;<a class="code" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">namePat</a>)-1);
  50 +<a name="l00029"></a>00029 <span class="keywordflow">break</span>;
  51 +<a name="l00030"></a>00030
  52 +<a name="l00031"></a>00031 <span class="keywordflow">case</span> <span class="charliteral">'b'</span>:
  53 +<a name="l00032"></a>00032 <span class="comment">/* maxPending (connection backlog) */</span>
  54 +<a name="l00033"></a>00033 config-&gt;<a class="code" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">maxPending</a> = atoi(optarg);
  55 +<a name="l00034"></a>00034 <span class="keywordflow">break</span>;
  56 +<a name="l00035"></a>00035
  57 +<a name="l00036"></a>00036 <span class="keywordflow">case</span> <span class="charliteral">'v'</span>:
  58 +<a name="l00037"></a>00037 <span class="comment">/* verbose */</span>
  59 +<a name="l00038"></a>00038 config-&gt;<a class="code" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">verbose</a> = 1;
  60 +<a name="l00039"></a>00039 <span class="keywordflow">break</span>;
  61 +<a name="l00040"></a>00040
  62 +<a name="l00041"></a>00041 <span class="keywordflow">case</span> <span class="charliteral">'D'</span>:
  63 +<a name="l00042"></a>00042 <span class="comment">/* verbose */</span>
  64 +<a name="l00043"></a>00043 config-&gt;<a class="code" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">doDaemon</a> = 1;
  65 +<a name="l00044"></a>00044 <span class="keywordflow">break</span>;
  66 +<a name="l00045"></a>00045
  67 +<a name="l00046"></a>00046 <span class="keywordflow">default</span>:
  68 +<a name="l00047"></a>00047 <span class="comment">/* '?' */</span>
  69 +<a name="l00048"></a>00048 fprintf(
  70 +<a name="l00049"></a>00049 stderr,
  71 +<a name="l00050"></a>00050 <span class="stringliteral">"Usage: %s [-p port] [-l logPath] [-n logNamePattern] [-c maxClient] [-b backlog] [-v] [-D]\n"</span>
  72 +<a name="l00051"></a>00051 <span class="stringliteral">"Defaults:\n"</span>
  73 +<a name="l00052"></a>00052 <span class="stringliteral">"\t%-20s: port this service will use [%d]\n"</span>
  74 +<a name="l00053"></a>00053 <span class="stringliteral">"\t%-20s: path where the logfiles will be stored [%s/]\n"</span>
  75 +<a name="l00054"></a>00054 <span class="stringliteral">"\t%-20s: patten used by strftime to create the log filename [%s]\n"</span>
  76 +<a name="l00055"></a>00055 <span class="stringliteral">"\t%-20s: maximum connection backlog [%d]\n"</span>
  77 +<a name="l00056"></a>00056 <span class="stringliteral">"\t%-20s: be more verbose in syslog [off]\n"</span>
  78 +<a name="l00057"></a>00057 <span class="stringliteral">"\t%-20s: deamonize me\n"</span>,
  79 +<a name="l00058"></a>00058 argv[0],
  80 +<a name="l00059"></a>00059 <span class="stringliteral">"-p port"</span>, <a class="code" href="appConfig_8h.html#3db4dba8d56385b62759b89c98cae447">DEFAULTPORT</a>,
  81 +<a name="l00060"></a>00060 <span class="stringliteral">"-l logPath"</span>, <a class="code" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">DEFAULTPATH</a>,
  82 +<a name="l00061"></a>00061 <span class="stringliteral">"-n logNamePattern"</span>, <a class="code" href="appConfig_8h.html#9a98b2d0f973e357020c1274ec5b56c0">LOGNAMEPATTERN</a>,
  83 +<a name="l00062"></a>00062 <span class="stringliteral">"-b backlog"</span>, <a class="code" href="appConfig_8h.html#f77ed3e65a7b1a9341603d152a1404df">MAXPENDING</a>,
  84 +<a name="l00063"></a>00063 <span class="stringliteral">"-v"</span>,
  85 +<a name="l00064"></a>00064 <span class="stringliteral">"-D"</span>);
  86 +<a name="l00065"></a>00065 exit(EXIT_FAILURE);
  87 +<a name="l00066"></a>00066 }
  88 +<a name="l00067"></a>00067 }
  89 +<a name="l00068"></a>00068
  90 +<a name="l00069"></a>00069 <span class="keywordflow">return</span> 0;
  91 +<a name="l00070"></a>00070 }
  92 +</pre></div></div>
  93 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  94 +<a href="http://www.doxygen.org/index.html">
  95 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  96 +</body>
  97 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/handleCmdLine.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>system/handleCmdLine.c File Reference</h1><code>#include &lt;unistd.h&gt;</code><br>
  25 +<code>#include &lt;stdlib.h&gt;</code><br>
  26 +<code>#include &lt;string.h&gt;</code><br>
  27 +<code>#include &lt;stdio.h&gt;</code><br>
  28 +<code>#include &quot;<a class="el" href="appConfig_8h-source.html">../include/appConfig.h</a>&quot;</code><br>
  29 +
  30 +<p>
  31 +<a href="handleCmdLine_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  32 +<tr><td></td></tr>
  33 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  34 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="handleCmdLine_8c.html#3755d793d10d6e5793ed5086a0b22964">handleCmdLine</a> (<a class="el" href="structtAppConfig.html">tAppConfig</a> *config, int argc, char *argv[])</td></tr>
  35 +
  36 +</table>
  37 +<hr><h2>Function Documentation</h2>
  38 +<a class="anchor" name="3755d793d10d6e5793ed5086a0b22964"></a><!-- doxytag: member="handleCmdLine.c::handleCmdLine" ref="3755d793d10d6e5793ed5086a0b22964" args="(tAppConfig *config, int argc, char *argv[])" -->
  39 +<div class="memitem">
  40 +<div class="memproto">
  41 + <table class="memname">
  42 + <tr>
  43 + <td class="memname">int handleCmdLine </td>
  44 + <td>(</td>
  45 + <td class="paramtype"><a class="el" href="structtAppConfig.html">tAppConfig</a> *&nbsp;</td>
  46 + <td class="paramname"> <em>config</em>, </td>
  47 + </tr>
  48 + <tr>
  49 + <td class="paramkey"></td>
  50 + <td></td>
  51 + <td class="paramtype">int&nbsp;</td>
  52 + <td class="paramname"> <em>argc</em>, </td>
  53 + </tr>
  54 + <tr>
  55 + <td class="paramkey"></td>
  56 + <td></td>
  57 + <td class="paramtype">char *&nbsp;</td>
  58 + <td class="paramname"> <em>argv</em>[]</td><td>&nbsp;</td>
  59 + </tr>
  60 + <tr>
  61 + <td></td>
  62 + <td>)</td>
  63 + <td></td><td></td><td></td>
  64 + </tr>
  65 + </table>
  66 +</div>
  67 +<div class="memdoc">
  68 +
  69 +<p>
  70 +
  71 +<p>Definition at line <a class="el" href="handleCmdLine_8c-source.html#l00010">10</a> of file <a class="el" href="handleCmdLine_8c-source.html">handleCmdLine.c</a>.</p>
  72 +
  73 +</div>
  74 +</div><p>
  75 +</div>
  76 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  77 +<a href="http://www.doxygen.org/index.html">
  78 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  79 +</body>
  80 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: reader/httpReader/httpRequest.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>reader/httpReader/httpRequest.c</h1><a href="httpRequest_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;string.h&gt;</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;ctype.h&gt;</span>
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include "../../include/appConfig.h"</span>
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include "../../include/httpRequest.h"</span>
  29 +<a name="l00008"></a>00008 <span class="preprocessor">#include "../../include/client.h"</span>
  30 +<a name="l00009"></a>00009
  31 +<a name="l00010"></a><a class="code" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">00010</a> <span class="preprocessor">#define SPACE 0x20</span>
  32 +<a name="l00011"></a>00011 <span class="preprocessor"></span>
  33 +<a name="l00012"></a>00012
  34 +<a name="l00013"></a><a class="code" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">00013</a> <span class="keywordtype">char</span> <a class="code" href="httpRequest_8h.html#e7110ef069c94769a78296dc38ab86ca">httpRequest</a>[8][8] = {
  35 +<a name="l00014"></a>00014 <span class="stringliteral">"OPTIONS"</span>,
  36 +<a name="l00015"></a>00015 <span class="stringliteral">"GET"</span>,
  37 +<a name="l00016"></a>00016 <span class="stringliteral">"HEAD"</span>,
  38 +<a name="l00017"></a>00017 <span class="stringliteral">"POST"</span>,
  39 +<a name="l00018"></a>00018 <span class="stringliteral">"PUT"</span>,
  40 +<a name="l00019"></a>00019 <span class="stringliteral">"DELETE"</span>,
  41 +<a name="l00020"></a>00020 <span class="stringliteral">"TRACE"</span>,
  42 +<a name="l00021"></a>00021 <span class="stringliteral">"CONNECT"</span>
  43 +<a name="l00022"></a>00022 };
  44 +<a name="l00023"></a>00023
  45 +<a name="l00024"></a>00024 <span class="comment">/*</span>
  46 +<a name="l00025"></a>00025 <span class="comment"> * Gedanken zum request einlese:</span>
  47 +<a name="l00026"></a>00026 <span class="comment"> * der client liest stumpf daten, außerdem implementiert er eine Methode um die</span>
  48 +<a name="l00027"></a>00027 <span class="comment"> * erste Zeile aus dem readbuffer zu entfernen.</span>
  49 +<a name="l00028"></a>00028 <span class="comment"> * Des weiteren eine Methode getLine die NULL zurück gibt wenn noch keine Zeile</span>
  50 +<a name="l00029"></a>00029 <span class="comment"> * komplett ist, ansonsten einen Pointer auf diese.</span>
  51 +<a name="l00030"></a>00030 <span class="comment"> * Der servercode triggert das Daten lesen des client, versucht dann die erste</span>
  52 +<a name="l00031"></a>00031 <span class="comment"> * Zeile zu lesen und gibt diese im erfolgsfall an den httpCode weiter um</span>
  53 +<a name="l00032"></a>00032 <span class="comment"> * dann wenn dieser ein OK gibt die erste Zeile über den clientCode wieder zu entfernen.</span>
  54 +<a name="l00033"></a>00033 <span class="comment"> * Leere Zeile vor der request line werden ignoriert.</span>
  55 +<a name="l00034"></a>00034 <span class="comment"> * Ebenso leere Zailen nachdem der request komplett eingelesen ist.</span>
  56 +<a name="l00035"></a>00035 <span class="comment"> * Nachdem alle Header Zeile eingelesen wurden...d.H. sobald eine leere Header Zeile</span>
  57 +<a name="l00036"></a>00036 <span class="comment"> * gelesen wurde wird exakt bodyLength vom client versucht zu lesen...hierbei</span>
  58 +<a name="l00037"></a>00037 <span class="comment"> * können die Daten die von client kommen in den body buffer übertragen werden.</span>
  59 +<a name="l00038"></a>00038 <span class="comment"> * Dabei kann im client code der buffer immer entsprechend zurück gesetzt werden.</span>
  60 +<a name="l00039"></a>00039 <span class="comment"> */</span>
  61 +<a name="l00040"></a>00040 <span class="keywordtype">int</span>
  62 +<a name="l00041"></a><a class="code" href="httpRequest_8c.html#c96f6dae9ced89eb2ae8ac556918e367">00041</a> <a class="code" href="httpRequest_8c.html#c96f6dae9ced89eb2ae8ac556918e367">httpHeaderGetLine</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> * header, <span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos)
  63 +<a name="l00042"></a>00042 {
  64 +<a name="l00043"></a>00043 <span class="keywordflow">return</span> 1;
  65 +<a name="l00044"></a>00044 }
  66 +<a name="l00045"></a>00045
  67 +<a name="l00046"></a>00046 <span class="keywordtype">void</span>
  68 +<a name="l00047"></a><a class="code" href="httpRequest_8c.html#e18ae9e899c3c951308bb2ec4bd810f5">00047</a> <a class="code" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpHeaderParseRequestLine</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> * header, <span class="keyword">const</span> <span class="keywordtype">char</span> * line, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len)
  69 +<a name="l00048"></a>00048 {
  70 +<a name="l00049"></a>00049 }
  71 +<a name="l00050"></a>00050
  72 +<a name="l00051"></a>00051 <span class="keywordtype">int</span>
  73 +<a name="l00052"></a><a class="code" href="httpRequest_8c.html#d5d9232083e5890588d5e1840341a48b">00052</a> <a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> * header)
  74 +<a name="l00053"></a>00053 {
  75 +<a name="l00054"></a>00054 <span class="keywordflow">if</span> (NULL == header-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a>) {
  76 +<a name="l00055"></a>00055 <span class="keywordflow">return</span> 0;
  77 +<a name="l00056"></a>00056 }
  78 +<a name="l00057"></a>00057
  79 +<a name="l00058"></a>00058 <span class="keywordflow">return</span> 1;
  80 +<a name="l00059"></a>00059 }
  81 +<a name="l00060"></a>00060
  82 +<a name="l00061"></a>00061 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>
  83 +<a name="l00062"></a><a class="code" href="httpRequest_8c.html#29982601e2121cd75800202f5716c7f5">00062</a> <a class="code" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpHeaderIsStarted</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> * header) {
  84 +<a name="l00063"></a>00063 <span class="keywordflow">return</span> 1;
  85 +<a name="l00064"></a>00064 }
  86 +<a name="l00065"></a>00065
  87 +<a name="l00066"></a>00066 <span class="keyword">static</span> <span class="keywordtype">void</span>
  88 +<a name="l00067"></a>00067 httpRequestStrip(<span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos)
  89 +<a name="l00068"></a>00068 {
  90 +<a name="l00069"></a>00069 <span class="keywordtype">char</span> * <a class="code" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">end</a> = *buffer;
  91 +<a name="l00070"></a>00070
  92 +<a name="l00071"></a>00071 <span class="comment">/* remove all surrounding CRLF */</span>
  93 +<a name="l00072"></a>00072 <span class="keywordflow">while</span> ((<span class="charliteral">'\r'</span> == *end || <span class="charliteral">'\n'</span> == *end) &amp;&amp; *end) {
  94 +<a name="l00073"></a>00073 end++;
  95 +<a name="l00074"></a>00074 }
  96 +<a name="l00075"></a>00075
  97 +<a name="l00076"></a>00076 <span class="keywordflow">if</span> (end != *buffer) {
  98 +<a name="l00077"></a>00077 memmove(*buffer, end, *readPos - (end - *buffer));
  99 +<a name="l00078"></a>00078 memset(*buffer, 0, end - *buffer);
  100 +<a name="l00079"></a>00079
  101 +<a name="l00080"></a>00080 *readPos -= (end - * buffer);
  102 +<a name="l00081"></a>00081 }
  103 +<a name="l00082"></a>00082 }
  104 +<a name="l00083"></a>00083
  105 +<a name="l00084"></a>00084 <span class="keywordtype">int</span>
  106 +<a name="l00085"></a><a class="code" href="httpRequest_8c.html#fd4f839160f6d97ad28e05ee1ce81188">00085</a> <a class="code" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpHeaderGet</a>(<span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos, <a class="code" href="structtHttpHeader.html">tHttpHeader</a> * request)
  107 +<a name="l00086"></a>00086 {
  108 +<a name="l00087"></a>00087 <span class="keywordtype">char</span> * end = *buffer;
  109 +<a name="l00088"></a>00088 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> readPosNew;
  110 +<a name="l00089"></a>00089
  111 +<a name="l00090"></a>00090 httpRequestStrip(buffer, readPos);
  112 +<a name="l00091"></a>00091 end = strstr(*buffer, <span class="stringliteral">"\r\n\r\n"</span>);
  113 +<a name="l00092"></a>00092
  114 +<a name="l00093"></a>00093 <span class="comment">/* get header if not already read and complete */</span>
  115 +<a name="l00094"></a>00094 <span class="keywordflow">if</span> (!<a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(request) &amp;&amp; NULL != end) {
  116 +<a name="l00095"></a>00095 <span class="comment">/* get request line */</span>
  117 +<a name="l00096"></a>00096 <span class="keywordtype">char</span> * methodEnd = strchr(*buffer, <a class="code" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">SPACE</a>);
  118 +<a name="l00097"></a>00097 <span class="keywordtype">char</span> * uriEnd = strchr(methodEnd + 1, <a class="code" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">SPACE</a>);
  119 +<a name="l00098"></a>00098 <span class="keywordtype">char</span> * lineEnd = strstr(*buffer, <span class="stringliteral">"\r\n"</span>);
  120 +<a name="l00099"></a>00099
  121 +<a name="l00100"></a>00100 request-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a> =
  122 +<a name="l00101"></a>00101 calloc(methodEnd-*buffer+1, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  123 +<a name="l00102"></a>00102 request-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a> =
  124 +<a name="l00103"></a>00103 calloc(uriEnd-methodEnd, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  125 +<a name="l00104"></a>00104 request-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a> =
  126 +<a name="l00105"></a>00105 calloc(lineEnd-uriEnd, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  127 +<a name="l00106"></a>00106
  128 +<a name="l00107"></a>00107 sscanf(*buffer, <span class="stringliteral">"%s %s %s\r\n"</span>,
  129 +<a name="l00108"></a>00108 request-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a>,
  130 +<a name="l00109"></a>00109 request-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a>,
  131 +<a name="l00110"></a>00110 request-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>);
  132 +<a name="l00111"></a>00111
  133 +<a name="l00112"></a>00112 readPosNew = (*buffer + *readPos) - lineEnd - 2;
  134 +<a name="l00113"></a>00113 memmove(*buffer, lineEnd + 2, readPosNew);
  135 +<a name="l00114"></a>00114 memset(*buffer + readPosNew, 0, *readPos - readPosNew);
  136 +<a name="l00115"></a>00115 *readPos = readPosNew;
  137 +<a name="l00116"></a>00116
  138 +<a name="l00117"></a>00117 <span class="comment">/* get all header lines */</span>
  139 +<a name="l00118"></a>00118 <span class="keywordflow">do</span> {
  140 +<a name="l00119"></a>00119 <span class="keywordtype">char</span> * keyEnd = strchr(*buffer, <span class="charliteral">':'</span>);
  141 +<a name="l00120"></a>00120
  142 +<a name="l00121"></a>00121 lineEnd = strstr(*buffer, <span class="stringliteral">"\r\n"</span>);
  143 +<a name="l00122"></a>00122
  144 +<a name="l00123"></a>00123 <span class="keywordflow">if</span> (lineEnd != *buffer) {
  145 +<a name="l00124"></a>00124 <a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a> * actHeader;
  146 +<a name="l00125"></a>00125 <span class="keywordtype">char</span> * actKey = NULL;
  147 +<a name="l00126"></a>00126
  148 +<a name="l00127"></a>00127 request-&gt;<a class="code" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">headersCount</a> += 1;
  149 +<a name="l00128"></a>00128
  150 +<a name="l00129"></a>00129 request-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a> = realloc(request-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>,
  151 +<a name="l00130"></a>00130 request-&gt;<a class="code" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">headersCount</a> * <span class="keyword">sizeof</span>(<a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a>));
  152 +<a name="l00131"></a>00131 actHeader = &amp;(request-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[request-&gt;<a class="code" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">headersCount</a>-1]);
  153 +<a name="l00132"></a>00132 memset(actHeader, 0, <span class="keyword">sizeof</span>(<a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a>));
  154 +<a name="l00133"></a>00133
  155 +<a name="l00134"></a>00134 actKey = actHeader-&gt;<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a> = calloc(keyEnd-*buffer+1, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  156 +<a name="l00135"></a>00135 actHeader-&gt;<a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a> = calloc(lineEnd-keyEnd-1, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  157 +<a name="l00136"></a>00136
  158 +<a name="l00137"></a>00137 sscanf(*buffer, <span class="stringliteral">"%[^:]:%s\r\n"</span>,
  159 +<a name="l00138"></a>00138 actHeader-&gt;<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a>, actHeader-&gt;<a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a>);
  160 +<a name="l00139"></a>00139 <span class="comment">//while (NULL != actKey &amp;&amp; *actKey != '\0' &amp;&amp; (*actKey = tolower(*(actKey++)))); // strtolower</span>
  161 +<a name="l00140"></a>00140 <span class="keywordflow">for</span> (; NULL != actKey &amp;&amp; *actKey != <span class="charliteral">'\0'</span>; actKey++) {
  162 +<a name="l00141"></a>00141 *actKey = tolower(*actKey);
  163 +<a name="l00142"></a>00142 }
  164 +<a name="l00143"></a>00143
  165 +<a name="l00144"></a>00144 <span class="keywordflow">if</span> (0 == strncmp(<span class="stringliteral">"content-length"</span>, actHeader-&gt;<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a>, strlen(actHeader-&gt;<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a>))) {
  166 +<a name="l00145"></a>00145 request-&gt;<a class="code" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">bodyLength</a> = atoi(actHeader-&gt;<a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a>);
  167 +<a name="l00146"></a>00146 }
  168 +<a name="l00147"></a>00147 }
  169 +<a name="l00148"></a>00148
  170 +<a name="l00149"></a>00149 readPosNew = (*buffer + *readPos) - lineEnd - 2;
  171 +<a name="l00150"></a>00150 memmove(*buffer, lineEnd + 2, readPosNew);
  172 +<a name="l00151"></a>00151 memset(*buffer + readPosNew, 0, *readPos - readPosNew);
  173 +<a name="l00152"></a>00152 *readPos = readPosNew;
  174 +<a name="l00153"></a>00153 } <span class="keywordflow">while</span> (lineEnd != *buffer);
  175 +<a name="l00154"></a>00154
  176 +<a name="l00155"></a>00155 <span class="keywordflow">return</span> request-&gt;<a class="code" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">bodyLength</a>;
  177 +<a name="l00156"></a>00156 }
  178 +<a name="l00157"></a>00157
  179 +<a name="l00158"></a>00158 <span class="keywordflow">return</span> 0;
  180 +<a name="l00159"></a>00159 }
  181 +<a name="l00160"></a>00160
  182 +<a name="l00161"></a>00161 <span class="keywordtype">int</span>
  183 +<a name="l00162"></a><a class="code" href="httpRequest_8c.html#9a6b00ad980ca9a2c5023ec1a802106b">00162</a> <a class="code" href="httpRequest_8h.html#59d765731e7d39f5583ef175950becb1">getHttpRequest</a>(<span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos, <a class="code" href="structtHttpRequest.html">tHttpRequest</a> * request)
  184 +<a name="l00163"></a>00163 {
  185 +<a name="l00164"></a>00164 <span class="comment">/* get body if header is read and body incomplete */</span>
  186 +<a name="l00165"></a>00165 <span class="keywordflow">if</span> (request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">bodyLength</a> != request-&gt;<a class="code" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">length</a>) {
  187 +<a name="l00166"></a>00166 <span class="keywordtype">size_t</span> size = <a class="code" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">MIN</a>(
  188 +<a name="l00167"></a>00167 request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">bodyLength</a> - request-&gt;<a class="code" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">length</a>,
  189 +<a name="l00168"></a>00168 *readPos);
  190 +<a name="l00169"></a>00169
  191 +<a name="l00170"></a>00170 <span class="keywordflow">if</span> (0 != size) {
  192 +<a name="l00171"></a>00171 <span class="keywordflow">if</span> (NULL == request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a>) {
  193 +<a name="l00172"></a>00172 request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a> = calloc(request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">bodyLength</a>, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  194 +<a name="l00173"></a>00173 }
  195 +<a name="l00174"></a>00174
  196 +<a name="l00175"></a>00175 memcpy(request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a> + request-&gt;<a class="code" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">length</a>, *buffer, size);
  197 +<a name="l00176"></a>00176 memmove(*buffer, *buffer + size, *readPos - size);
  198 +<a name="l00177"></a>00177 memset(*buffer + (*readPos - size), 0, size);
  199 +<a name="l00178"></a>00178 *readPos -= size;
  200 +<a name="l00179"></a>00179 request-&gt;<a class="code" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">length</a> += size;
  201 +<a name="l00180"></a>00180 }
  202 +<a name="l00181"></a>00181 }
  203 +<a name="l00182"></a>00182
  204 +<a name="l00183"></a>00183 <span class="keywordflow">return</span> 0;
  205 +<a name="l00184"></a>00184 }
  206 +<a name="l00185"></a>00185
  207 +<a name="l00186"></a>00186 <span class="keywordtype">void</span>
  208 +<a name="l00187"></a><a class="code" href="httpRequest_8c.html#86d86da69aefe2067f750c80e626de7c">00187</a> <a class="code" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">freeHttpHeader</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> * header) {
  209 +<a name="l00188"></a>00188 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
  210 +<a name="l00189"></a>00189
  211 +<a name="l00190"></a>00190 <span class="keywordflow">if</span> (NULL != header-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a>) {
  212 +<a name="l00191"></a>00191 free(header-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a>);
  213 +<a name="l00192"></a>00192 }
  214 +<a name="l00193"></a>00193 <span class="keywordflow">if</span> (NULL != header-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a>) {
  215 +<a name="l00194"></a>00194 free(header-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a>);
  216 +<a name="l00195"></a>00195 }
  217 +<a name="l00196"></a>00196 <span class="keywordflow">if</span> (NULL != header-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>) {
  218 +<a name="l00197"></a>00197 free(header-&gt;<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>);
  219 +<a name="l00198"></a>00198 }
  220 +<a name="l00199"></a>00199
  221 +<a name="l00200"></a>00200 <span class="keywordflow">for</span> (i=0; i&lt;header-&gt;<a class="code" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">headersCount</a>; i++) {
  222 +<a name="l00201"></a>00201 <span class="keywordflow">if</span> (NULL != header-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a>) {
  223 +<a name="l00202"></a>00202 free(header-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a>);
  224 +<a name="l00203"></a>00203 }
  225 +<a name="l00204"></a>00204 <span class="keywordflow">if</span> (NULL != header-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a>) {
  226 +<a name="l00205"></a>00205 free(header-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a>);
  227 +<a name="l00206"></a>00206 }
  228 +<a name="l00207"></a>00207 }
  229 +<a name="l00208"></a>00208
  230 +<a name="l00209"></a>00209 <span class="keywordflow">if</span> (NULL != header-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>) {
  231 +<a name="l00210"></a>00210 free(header-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>);
  232 +<a name="l00211"></a>00211 }
  233 +<a name="l00212"></a>00212
  234 +<a name="l00213"></a>00213 memset (header, 0, <span class="keyword">sizeof</span> (<a class="code" href="structtHttpHeader.html">tHttpHeader</a>));
  235 +<a name="l00214"></a>00214 }
  236 +<a name="l00215"></a>00215
  237 +<a name="l00216"></a>00216 <span class="keywordtype">void</span>
  238 +<a name="l00217"></a><a class="code" href="httpRequest_8c.html#d1d9e65b1761d1d5f809314b4b05e772">00217</a> <a class="code" href="httpRequest_8h.html#1bba1865657c64c0e1971a45ee6117ab">freeHttpRequest</a>(<a class="code" href="structtHttpRequest.html">tHttpRequest</a> * request) {
  239 +<a name="l00218"></a>00218 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
  240 +<a name="l00219"></a>00219
  241 +<a name="l00220"></a>00220 <span class="keywordflow">if</span> (NULL != request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a>) {
  242 +<a name="l00221"></a>00221 free(request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a>);
  243 +<a name="l00222"></a>00222 request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a> = NULL;
  244 +<a name="l00223"></a>00223 }
  245 +<a name="l00224"></a>00224 <span class="keywordflow">if</span> (NULL != request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a>) {
  246 +<a name="l00225"></a>00225 free(request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a>);
  247 +<a name="l00226"></a>00226 request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a> = NULL;
  248 +<a name="l00227"></a>00227 }
  249 +<a name="l00228"></a>00228 <span class="keywordflow">if</span> (NULL != request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>) {
  250 +<a name="l00229"></a>00229 free(request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>);
  251 +<a name="l00230"></a>00230 request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a> = NULL;
  252 +<a name="l00231"></a>00231 }
  253 +<a name="l00232"></a>00232
  254 +<a name="l00233"></a>00233 <span class="keywordflow">for</span> (i=0; i&lt;request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">headersCount</a>; i++) {
  255 +<a name="l00234"></a>00234 <span class="keywordflow">if</span> (NULL != request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a>) {
  256 +<a name="l00235"></a>00235 free(request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a>);
  257 +<a name="l00236"></a>00236 request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a> = NULL;
  258 +<a name="l00237"></a>00237 }
  259 +<a name="l00238"></a>00238 <span class="keywordflow">if</span> (NULL != request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a>) {
  260 +<a name="l00239"></a>00239 free(request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a>);
  261 +<a name="l00240"></a>00240 request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>[i].<a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a> = NULL;
  262 +<a name="l00241"></a>00241 }
  263 +<a name="l00242"></a>00242 }
  264 +<a name="l00243"></a>00243
  265 +<a name="l00244"></a>00244 <span class="keywordflow">if</span> (NULL != request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>) {
  266 +<a name="l00245"></a>00245 free(request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>);
  267 +<a name="l00246"></a>00246 request-&gt;<a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a>.<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a> = NULL;
  268 +<a name="l00247"></a>00247 }
  269 +<a name="l00248"></a>00248
  270 +<a name="l00249"></a>00249 <span class="keywordflow">if</span> (NULL != request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a>) {
  271 +<a name="l00250"></a>00250 free(request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a>);
  272 +<a name="l00251"></a>00251 request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a> = NULL;
  273 +<a name="l00252"></a>00252 }
  274 +<a name="l00253"></a>00253
  275 +<a name="l00254"></a>00254 memset (request, 0, <span class="keyword">sizeof</span> (<a class="code" href="structtHttpRequest.html">tHttpRequest</a>));
  276 +<a name="l00255"></a>00255 }
  277 +</pre></div></div>
  278 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  279 +<a href="http://www.doxygen.org/index.html">
  280 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  281 +</body>
  282 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: reader/httpReader/httpRequest.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>reader/httpReader/httpRequest.c File Reference</h1><code>#include &lt;string.h&gt;</code><br>
  25 +<code>#include &lt;stdlib.h&gt;</code><br>
  26 +<code>#include &lt;stdio.h&gt;</code><br>
  27 +<code>#include &lt;ctype.h&gt;</code><br>
  28 +<code>#include &quot;<a class="el" href="appConfig_8h-source.html">../../include/appConfig.h</a>&quot;</code><br>
  29 +<code>#include &quot;<a class="el" href="httpRequest_8h-source.html">../../include/httpRequest.h</a>&quot;</code><br>
  30 +<code>#include &quot;<a class="el" href="client_8h-source.html">../../include/client.h</a>&quot;</code><br>
  31 +
  32 +<p>
  33 +<a href="httpRequest_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  34 +<tr><td></td></tr>
  35 +<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  36 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">SPACE</a>&nbsp;&nbsp;&nbsp;0x20</td></tr>
  37 +
  38 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#c96f6dae9ced89eb2ae8ac556918e367">httpHeaderGetLine</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *header, char **buffer, unsigned int *readPos)</td></tr>
  40 +
  41 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#e18ae9e899c3c951308bb2ec4bd810f5">httpHeaderParseRequestLine</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *header, const char *line, unsigned int len)</td></tr>
  42 +
  43 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#d5d9232083e5890588d5e1840341a48b">httpHeaderIsComplete</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *header)</td></tr>
  44 +
  45 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#29982601e2121cd75800202f5716c7f5">httpHeaderIsStarted</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *header)</td></tr>
  46 +
  47 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#fd4f839160f6d97ad28e05ee1ce81188">httpHeaderGet</a> (char **buffer, unsigned int *readPos, <a class="el" href="structtHttpHeader.html">tHttpHeader</a> *request)</td></tr>
  48 +
  49 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#9a6b00ad980ca9a2c5023ec1a802106b">getHttpRequest</a> (char **buffer, unsigned int *readPos, <a class="el" href="structtHttpRequest.html">tHttpRequest</a> *request)</td></tr>
  50 +
  51 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#86d86da69aefe2067f750c80e626de7c">freeHttpHeader</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *header)</td></tr>
  52 +
  53 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#d1d9e65b1761d1d5f809314b4b05e772">freeHttpRequest</a> (<a class="el" href="structtHttpRequest.html">tHttpRequest</a> *request)</td></tr>
  54 +
  55 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  56 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest</a> [8][8]</td></tr>
  57 +
  58 +</table>
  59 +<hr><h2>Define Documentation</h2>
  60 +<a class="anchor" name="5ff6e798033f03e74730e99f01936f84"></a><!-- doxytag: member="httpRequest.c::SPACE" ref="5ff6e798033f03e74730e99f01936f84" args="" -->
  61 +<div class="memitem">
  62 +<div class="memproto">
  63 + <table class="memname">
  64 + <tr>
  65 + <td class="memname">#define SPACE&nbsp;&nbsp;&nbsp;0x20 </td>
  66 + </tr>
  67 + </table>
  68 +</div>
  69 +<div class="memdoc">
  70 +
  71 +<p>
  72 +
  73 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00010">10</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  74 +
  75 +</div>
  76 +</div><p>
  77 +<hr><h2>Function Documentation</h2>
  78 +<a class="anchor" name="86d86da69aefe2067f750c80e626de7c"></a><!-- doxytag: member="httpRequest.c::freeHttpHeader" ref="86d86da69aefe2067f750c80e626de7c" args="(tHttpHeader *header)" -->
  79 +<div class="memitem">
  80 +<div class="memproto">
  81 + <table class="memname">
  82 + <tr>
  83 + <td class="memname">void freeHttpHeader </td>
  84 + <td>(</td>
  85 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  86 + <td class="paramname"> <em>header</em> </td>
  87 + <td>&nbsp;)&nbsp;</td>
  88 + <td></td>
  89 + </tr>
  90 + </table>
  91 +</div>
  92 +<div class="memdoc">
  93 +
  94 +<p>
  95 +
  96 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00187">187</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  97 +
  98 +</div>
  99 +</div><p>
  100 +<a class="anchor" name="d1d9e65b1761d1d5f809314b4b05e772"></a><!-- doxytag: member="httpRequest.c::freeHttpRequest" ref="d1d9e65b1761d1d5f809314b4b05e772" args="(tHttpRequest *request)" -->
  101 +<div class="memitem">
  102 +<div class="memproto">
  103 + <table class="memname">
  104 + <tr>
  105 + <td class="memname">void freeHttpRequest </td>
  106 + <td>(</td>
  107 + <td class="paramtype"><a class="el" href="structtHttpRequest.html">tHttpRequest</a> *&nbsp;</td>
  108 + <td class="paramname"> <em>request</em> </td>
  109 + <td>&nbsp;)&nbsp;</td>
  110 + <td></td>
  111 + </tr>
  112 + </table>
  113 +</div>
  114 +<div class="memdoc">
  115 +
  116 +<p>
  117 +
  118 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00217">217</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  119 +
  120 +</div>
  121 +</div><p>
  122 +<a class="anchor" name="9a6b00ad980ca9a2c5023ec1a802106b"></a><!-- doxytag: member="httpRequest.c::getHttpRequest" ref="9a6b00ad980ca9a2c5023ec1a802106b" args="(char **buffer, unsigned int *readPos, tHttpRequest *request)" -->
  123 +<div class="memitem">
  124 +<div class="memproto">
  125 + <table class="memname">
  126 + <tr>
  127 + <td class="memname">int getHttpRequest </td>
  128 + <td>(</td>
  129 + <td class="paramtype">char **&nbsp;</td>
  130 + <td class="paramname"> <em>buffer</em>, </td>
  131 + </tr>
  132 + <tr>
  133 + <td class="paramkey"></td>
  134 + <td></td>
  135 + <td class="paramtype">unsigned int *&nbsp;</td>
  136 + <td class="paramname"> <em>readPos</em>, </td>
  137 + </tr>
  138 + <tr>
  139 + <td class="paramkey"></td>
  140 + <td></td>
  141 + <td class="paramtype"><a class="el" href="structtHttpRequest.html">tHttpRequest</a> *&nbsp;</td>
  142 + <td class="paramname"> <em>request</em></td><td>&nbsp;</td>
  143 + </tr>
  144 + <tr>
  145 + <td></td>
  146 + <td>)</td>
  147 + <td></td><td></td><td></td>
  148 + </tr>
  149 + </table>
  150 +</div>
  151 +<div class="memdoc">
  152 +
  153 +<p>
  154 +
  155 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00162">162</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  156 +
  157 +</div>
  158 +</div><p>
  159 +<a class="anchor" name="fd4f839160f6d97ad28e05ee1ce81188"></a><!-- doxytag: member="httpRequest.c::httpHeaderGet" ref="fd4f839160f6d97ad28e05ee1ce81188" args="(char **buffer, unsigned int *readPos, tHttpHeader *request)" -->
  160 +<div class="memitem">
  161 +<div class="memproto">
  162 + <table class="memname">
  163 + <tr>
  164 + <td class="memname">int httpHeaderGet </td>
  165 + <td>(</td>
  166 + <td class="paramtype">char **&nbsp;</td>
  167 + <td class="paramname"> <em>buffer</em>, </td>
  168 + </tr>
  169 + <tr>
  170 + <td class="paramkey"></td>
  171 + <td></td>
  172 + <td class="paramtype">unsigned int *&nbsp;</td>
  173 + <td class="paramname"> <em>readPos</em>, </td>
  174 + </tr>
  175 + <tr>
  176 + <td class="paramkey"></td>
  177 + <td></td>
  178 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  179 + <td class="paramname"> <em>request</em></td><td>&nbsp;</td>
  180 + </tr>
  181 + <tr>
  182 + <td></td>
  183 + <td>)</td>
  184 + <td></td><td></td><td></td>
  185 + </tr>
  186 + </table>
  187 +</div>
  188 +<div class="memdoc">
  189 +
  190 +<p>
  191 +
  192 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00085">85</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  193 +
  194 +</div>
  195 +</div><p>
  196 +<a class="anchor" name="c96f6dae9ced89eb2ae8ac556918e367"></a><!-- doxytag: member="httpRequest.c::httpHeaderGetLine" ref="c96f6dae9ced89eb2ae8ac556918e367" args="(tHttpHeader *header, char **buffer, unsigned int *readPos)" -->
  197 +<div class="memitem">
  198 +<div class="memproto">
  199 + <table class="memname">
  200 + <tr>
  201 + <td class="memname">int httpHeaderGetLine </td>
  202 + <td>(</td>
  203 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  204 + <td class="paramname"> <em>header</em>, </td>
  205 + </tr>
  206 + <tr>
  207 + <td class="paramkey"></td>
  208 + <td></td>
  209 + <td class="paramtype">char **&nbsp;</td>
  210 + <td class="paramname"> <em>buffer</em>, </td>
  211 + </tr>
  212 + <tr>
  213 + <td class="paramkey"></td>
  214 + <td></td>
  215 + <td class="paramtype">unsigned int *&nbsp;</td>
  216 + <td class="paramname"> <em>readPos</em></td><td>&nbsp;</td>
  217 + </tr>
  218 + <tr>
  219 + <td></td>
  220 + <td>)</td>
  221 + <td></td><td></td><td></td>
  222 + </tr>
  223 + </table>
  224 +</div>
  225 +<div class="memdoc">
  226 +
  227 +<p>
  228 +
  229 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00041">41</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  230 +
  231 +</div>
  232 +</div><p>
  233 +<a class="anchor" name="d5d9232083e5890588d5e1840341a48b"></a><!-- doxytag: member="httpRequest.c::httpHeaderIsComplete" ref="d5d9232083e5890588d5e1840341a48b" args="(tHttpHeader *header)" -->
  234 +<div class="memitem">
  235 +<div class="memproto">
  236 + <table class="memname">
  237 + <tr>
  238 + <td class="memname">int httpHeaderIsComplete </td>
  239 + <td>(</td>
  240 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  241 + <td class="paramname"> <em>header</em> </td>
  242 + <td>&nbsp;)&nbsp;</td>
  243 + <td></td>
  244 + </tr>
  245 + </table>
  246 +</div>
  247 +<div class="memdoc">
  248 +
  249 +<p>
  250 +
  251 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00052">52</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  252 +
  253 +</div>
  254 +</div><p>
  255 +<a class="anchor" name="29982601e2121cd75800202f5716c7f5"></a><!-- doxytag: member="httpRequest.c::httpHeaderIsStarted" ref="29982601e2121cd75800202f5716c7f5" args="(tHttpHeader *header)" -->
  256 +<div class="memitem">
  257 +<div class="memproto">
  258 + <table class="memname">
  259 + <tr>
  260 + <td class="memname">unsigned char httpHeaderIsStarted </td>
  261 + <td>(</td>
  262 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  263 + <td class="paramname"> <em>header</em> </td>
  264 + <td>&nbsp;)&nbsp;</td>
  265 + <td></td>
  266 + </tr>
  267 + </table>
  268 +</div>
  269 +<div class="memdoc">
  270 +
  271 +<p>
  272 +
  273 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00062">62</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  274 +
  275 +</div>
  276 +</div><p>
  277 +<a class="anchor" name="e18ae9e899c3c951308bb2ec4bd810f5"></a><!-- doxytag: member="httpRequest.c::httpHeaderParseRequestLine" ref="e18ae9e899c3c951308bb2ec4bd810f5" args="(tHttpHeader *header, const char *line, unsigned int len)" -->
  278 +<div class="memitem">
  279 +<div class="memproto">
  280 + <table class="memname">
  281 + <tr>
  282 + <td class="memname">void httpHeaderParseRequestLine </td>
  283 + <td>(</td>
  284 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  285 + <td class="paramname"> <em>header</em>, </td>
  286 + </tr>
  287 + <tr>
  288 + <td class="paramkey"></td>
  289 + <td></td>
  290 + <td class="paramtype">const char *&nbsp;</td>
  291 + <td class="paramname"> <em>line</em>, </td>
  292 + </tr>
  293 + <tr>
  294 + <td class="paramkey"></td>
  295 + <td></td>
  296 + <td class="paramtype">unsigned int&nbsp;</td>
  297 + <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
  298 + </tr>
  299 + <tr>
  300 + <td></td>
  301 + <td>)</td>
  302 + <td></td><td></td><td></td>
  303 + </tr>
  304 + </table>
  305 +</div>
  306 +<div class="memdoc">
  307 +
  308 +<p>
  309 +
  310 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00047">47</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  311 +
  312 +</div>
  313 +</div><p>
  314 +<hr><h2>Variable Documentation</h2>
  315 +<a class="anchor" name="e7110ef069c94769a78296dc38ab86ca"></a><!-- doxytag: member="httpRequest.c::httpRequest" ref="e7110ef069c94769a78296dc38ab86ca" args="[8][8]" -->
  316 +<div class="memitem">
  317 +<div class="memproto">
  318 + <table class="memname">
  319 + <tr>
  320 + <td class="memname">char <a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest</a>[8][8] </td>
  321 + </tr>
  322 + </table>
  323 +</div>
  324 +<div class="memdoc">
  325 +
  326 +<p>
  327 +<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
  328 + <span class="stringliteral">"OPTIONS"</span>,
  329 + <span class="stringliteral">"GET"</span>,
  330 + <span class="stringliteral">"HEAD"</span>,
  331 + <span class="stringliteral">"POST"</span>,
  332 + <span class="stringliteral">"PUT"</span>,
  333 + <span class="stringliteral">"DELETE"</span>,
  334 + <span class="stringliteral">"TRACE"</span>,
  335 + <span class="stringliteral">"CONNECT"</span>
  336 +}
  337 +</pre></div>
  338 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00013">13</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  339 +
  340 +</div>
  341 +</div><p>
  342 +</div>
  343 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  344 +<a href="http://www.doxygen.org/index.html">
  345 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  346 +</body>
  347 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/httpRequest.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/httpRequest.h</h1><a href="httpRequest_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __HTTP_REQUEST_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __HTTP_REQUEST_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a><a class="code" href="httpRequest_8h.html#bcd1460716fe0d7d7bbfab4d8df7431b">00004</a> <span class="preprocessor">#define HTTP_REQ_OPTIONS 0</span>
  26 +<a name="l00005"></a><a class="code" href="httpRequest_8h.html#783bb94ef6eee3041b08244fcf43304f">00005</a> <span class="preprocessor"></span><span class="preprocessor">#define HTTP_REQ_GET 1</span>
  27 +<a name="l00006"></a><a class="code" href="httpRequest_8h.html#99dd5b1289103eee62ebd66082f03e98">00006</a> <span class="preprocessor"></span><span class="preprocessor">#define HTTP_REQ_HEAD 2</span>
  28 +<a name="l00007"></a><a class="code" href="httpRequest_8h.html#b113eaf10da1f4291202f81bea630f5b">00007</a> <span class="preprocessor"></span><span class="preprocessor">#define HTTP_REQ_POST 3</span>
  29 +<a name="l00008"></a><a class="code" href="httpRequest_8h.html#af09691edc99a286c60427e1f390d7bd">00008</a> <span class="preprocessor"></span><span class="preprocessor">#define HTTP_REQ_PUT 4</span>
  30 +<a name="l00009"></a><a class="code" href="httpRequest_8h.html#2894c25df3d2e54885cc414aa9731811">00009</a> <span class="preprocessor"></span><span class="preprocessor">#define HTTP_REQ_DELETE 5</span>
  31 +<a name="l00010"></a><a class="code" href="httpRequest_8h.html#21cd537dafe8cd458fbb1eeb1208f4a8">00010</a> <span class="preprocessor"></span><span class="preprocessor">#define HTTP_REQ_TRACE 6</span>
  32 +<a name="l00011"></a><a class="code" href="httpRequest_8h.html#5e49980e0d7d4080e2cececd00796981">00011</a> <span class="preprocessor"></span><span class="preprocessor">#define HTTP_REQ_CONNECT 7</span>
  33 +<a name="l00012"></a>00012 <span class="preprocessor"></span>
  34 +<a name="l00013"></a>00013 <span class="keyword">extern</span> <span class="keywordtype">char</span> <a class="code" href="httpRequest_8h.html#e7110ef069c94769a78296dc38ab86ca">httpRequest</a>[8][8];
  35 +<a name="l00014"></a>00014
  36 +<a name="l00015"></a>00015
  37 +<a name="l00016"></a><a class="code" href="structtRequestLine.html">00016</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
  38 +<a name="l00017"></a><a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">00017</a> <span class="keywordtype">char</span> * method;
  39 +<a name="l00018"></a><a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">00018</a> <span class="keywordtype">char</span> * requestUri;
  40 +<a name="l00019"></a><a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">00019</a> <span class="keywordtype">char</span> * httpVersion;
  41 +<a name="l00020"></a>00020 } <a class="code" href="structtRequestLine.html">tRequestLine</a>;
  42 +<a name="l00021"></a>00021
  43 +<a name="l00022"></a><a class="code" href="structtHttpHeaderLine.html">00022</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
  44 +<a name="l00023"></a><a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">00023</a> <span class="keywordtype">char</span> * key;
  45 +<a name="l00024"></a><a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">00024</a> <span class="keywordtype">char</span> * value;
  46 +<a name="l00025"></a>00025 } <a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a>;
  47 +<a name="l00026"></a>00026
  48 +<a name="l00027"></a><a class="code" href="structtHttpHeader.html">00027</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
  49 +<a name="l00028"></a><a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">00028</a> <a class="code" href="structtRequestLine.html">tRequestLine</a> req;
  50 +<a name="l00029"></a><a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">00029</a> <a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a> * headers;
  51 +<a name="l00030"></a><a class="code" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">00030</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> headersCount;
  52 +<a name="l00031"></a>00031
  53 +<a name="l00032"></a><a class="code" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">00032</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> bodyLength;
  54 +<a name="l00033"></a>00033 } <a class="code" href="structtHttpHeader.html">tHttpHeader</a>;
  55 +<a name="l00034"></a>00034
  56 +<a name="l00035"></a><a class="code" href="structtHttpRequest.html">00035</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
  57 +<a name="l00036"></a><a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">00036</a> <a class="code" href="structtHttpHeader.html">tHttpHeader</a> header;
  58 +<a name="l00037"></a><a class="code" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">00037</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length;
  59 +<a name="l00038"></a><a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">00038</a> <span class="keywordtype">char</span> * body;
  60 +<a name="l00039"></a>00039 } <a class="code" href="structtHttpRequest.html">tHttpRequest</a>;
  61 +<a name="l00040"></a>00040
  62 +<a name="l00041"></a>00041
  63 +<a name="l00042"></a>00042 <span class="keywordtype">int</span> <a class="code" href="httpRequest_8h.html#59d765731e7d39f5583ef175950becb1">getHttpRequest</a>(<span class="keywordtype">char</span> **, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *, <a class="code" href="structtHttpRequest.html">tHttpRequest</a> *);
  64 +<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="httpRequest_8h.html#1bba1865657c64c0e1971a45ee6117ab">freeHttpRequest</a>(<a class="code" href="structtHttpRequest.html">tHttpRequest</a> *);
  65 +<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">freeHttpHeader</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> *);
  66 +<a name="l00045"></a>00045 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpHeaderIsStarted</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> *);
  67 +<a name="l00046"></a>00046 <span class="keywordtype">int</span> <a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> *);
  68 +<a name="l00047"></a>00047 <span class="keywordtype">int</span> <a class="code" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpHeaderGet</a>(<span class="keywordtype">char</span> **, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *, <a class="code" href="structtHttpHeader.html">tHttpHeader</a> *);
  69 +<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpHeaderParseRequestLine</a>(<a class="code" href="structtHttpHeader.html">tHttpHeader</a> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>);
  70 +<a name="l00049"></a>00049
  71 +<a name="l00050"></a>00050 <span class="preprocessor">#endif // __HTTP_REQUEST_H__</span>
  72 +</pre></div></div>
  73 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  74 +<a href="http://www.doxygen.org/index.html">
  75 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  76 +</body>
  77 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/httpRequest.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/httpRequest.h File Reference</h1>
  25 +<p>
  26 +<a href="httpRequest_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtRequestLine.html">tRequestLine</a></td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeaderLine.html">tHttpHeaderLine</a></td></tr>
  32 +
  33 +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html">tHttpHeader</a></td></tr>
  34 +
  35 +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpRequest.html">tHttpRequest</a></td></tr>
  36 +
  37 +<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  38 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#bcd1460716fe0d7d7bbfab4d8df7431b">HTTP_REQ_OPTIONS</a>&nbsp;&nbsp;&nbsp;0</td></tr>
  39 +
  40 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#783bb94ef6eee3041b08244fcf43304f">HTTP_REQ_GET</a>&nbsp;&nbsp;&nbsp;1</td></tr>
  41 +
  42 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#99dd5b1289103eee62ebd66082f03e98">HTTP_REQ_HEAD</a>&nbsp;&nbsp;&nbsp;2</td></tr>
  43 +
  44 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#b113eaf10da1f4291202f81bea630f5b">HTTP_REQ_POST</a>&nbsp;&nbsp;&nbsp;3</td></tr>
  45 +
  46 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#af09691edc99a286c60427e1f390d7bd">HTTP_REQ_PUT</a>&nbsp;&nbsp;&nbsp;4</td></tr>
  47 +
  48 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#2894c25df3d2e54885cc414aa9731811">HTTP_REQ_DELETE</a>&nbsp;&nbsp;&nbsp;5</td></tr>
  49 +
  50 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#21cd537dafe8cd458fbb1eeb1208f4a8">HTTP_REQ_TRACE</a>&nbsp;&nbsp;&nbsp;6</td></tr>
  51 +
  52 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#5e49980e0d7d4080e2cececd00796981">HTTP_REQ_CONNECT</a>&nbsp;&nbsp;&nbsp;7</td></tr>
  53 +
  54 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  55 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#59d765731e7d39f5583ef175950becb1">getHttpRequest</a> (char **, unsigned int *, <a class="el" href="structtHttpRequest.html">tHttpRequest</a> *)</td></tr>
  56 +
  57 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#1bba1865657c64c0e1971a45ee6117ab">freeHttpRequest</a> (<a class="el" href="structtHttpRequest.html">tHttpRequest</a> *)</td></tr>
  58 +
  59 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">freeHttpHeader</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *)</td></tr>
  60 +
  61 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpHeaderIsStarted</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *)</td></tr>
  62 +
  63 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *)</td></tr>
  64 +
  65 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpHeaderGet</a> (char **, unsigned int *, <a class="el" href="structtHttpHeader.html">tHttpHeader</a> *)</td></tr>
  66 +
  67 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpHeaderParseRequestLine</a> (<a class="el" href="structtHttpHeader.html">tHttpHeader</a> *, const char *, unsigned int)</td></tr>
  68 +
  69 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  70 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="httpRequest_8h.html#e7110ef069c94769a78296dc38ab86ca">httpRequest</a> [8][8]</td></tr>
  71 +
  72 +</table>
  73 +<hr><h2>Define Documentation</h2>
  74 +<a class="anchor" name="5e49980e0d7d4080e2cececd00796981"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_CONNECT" ref="5e49980e0d7d4080e2cececd00796981" args="" -->
  75 +<div class="memitem">
  76 +<div class="memproto">
  77 + <table class="memname">
  78 + <tr>
  79 + <td class="memname">#define HTTP_REQ_CONNECT&nbsp;&nbsp;&nbsp;7 </td>
  80 + </tr>
  81 + </table>
  82 +</div>
  83 +<div class="memdoc">
  84 +
  85 +<p>
  86 +
  87 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00011">11</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  88 +
  89 +</div>
  90 +</div><p>
  91 +<a class="anchor" name="2894c25df3d2e54885cc414aa9731811"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_DELETE" ref="2894c25df3d2e54885cc414aa9731811" args="" -->
  92 +<div class="memitem">
  93 +<div class="memproto">
  94 + <table class="memname">
  95 + <tr>
  96 + <td class="memname">#define HTTP_REQ_DELETE&nbsp;&nbsp;&nbsp;5 </td>
  97 + </tr>
  98 + </table>
  99 +</div>
  100 +<div class="memdoc">
  101 +
  102 +<p>
  103 +
  104 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00009">9</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  105 +
  106 +</div>
  107 +</div><p>
  108 +<a class="anchor" name="783bb94ef6eee3041b08244fcf43304f"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_GET" ref="783bb94ef6eee3041b08244fcf43304f" args="" -->
  109 +<div class="memitem">
  110 +<div class="memproto">
  111 + <table class="memname">
  112 + <tr>
  113 + <td class="memname">#define HTTP_REQ_GET&nbsp;&nbsp;&nbsp;1 </td>
  114 + </tr>
  115 + </table>
  116 +</div>
  117 +<div class="memdoc">
  118 +
  119 +<p>
  120 +
  121 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00005">5</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  122 +
  123 +</div>
  124 +</div><p>
  125 +<a class="anchor" name="99dd5b1289103eee62ebd66082f03e98"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_HEAD" ref="99dd5b1289103eee62ebd66082f03e98" args="" -->
  126 +<div class="memitem">
  127 +<div class="memproto">
  128 + <table class="memname">
  129 + <tr>
  130 + <td class="memname">#define HTTP_REQ_HEAD&nbsp;&nbsp;&nbsp;2 </td>
  131 + </tr>
  132 + </table>
  133 +</div>
  134 +<div class="memdoc">
  135 +
  136 +<p>
  137 +
  138 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00006">6</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  139 +
  140 +</div>
  141 +</div><p>
  142 +<a class="anchor" name="bcd1460716fe0d7d7bbfab4d8df7431b"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_OPTIONS" ref="bcd1460716fe0d7d7bbfab4d8df7431b" args="" -->
  143 +<div class="memitem">
  144 +<div class="memproto">
  145 + <table class="memname">
  146 + <tr>
  147 + <td class="memname">#define HTTP_REQ_OPTIONS&nbsp;&nbsp;&nbsp;0 </td>
  148 + </tr>
  149 + </table>
  150 +</div>
  151 +<div class="memdoc">
  152 +
  153 +<p>
  154 +
  155 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00004">4</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  156 +
  157 +</div>
  158 +</div><p>
  159 +<a class="anchor" name="b113eaf10da1f4291202f81bea630f5b"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_POST" ref="b113eaf10da1f4291202f81bea630f5b" args="" -->
  160 +<div class="memitem">
  161 +<div class="memproto">
  162 + <table class="memname">
  163 + <tr>
  164 + <td class="memname">#define HTTP_REQ_POST&nbsp;&nbsp;&nbsp;3 </td>
  165 + </tr>
  166 + </table>
  167 +</div>
  168 +<div class="memdoc">
  169 +
  170 +<p>
  171 +
  172 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00007">7</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  173 +
  174 +</div>
  175 +</div><p>
  176 +<a class="anchor" name="af09691edc99a286c60427e1f390d7bd"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_PUT" ref="af09691edc99a286c60427e1f390d7bd" args="" -->
  177 +<div class="memitem">
  178 +<div class="memproto">
  179 + <table class="memname">
  180 + <tr>
  181 + <td class="memname">#define HTTP_REQ_PUT&nbsp;&nbsp;&nbsp;4 </td>
  182 + </tr>
  183 + </table>
  184 +</div>
  185 +<div class="memdoc">
  186 +
  187 +<p>
  188 +
  189 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00008">8</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  190 +
  191 +</div>
  192 +</div><p>
  193 +<a class="anchor" name="21cd537dafe8cd458fbb1eeb1208f4a8"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_TRACE" ref="21cd537dafe8cd458fbb1eeb1208f4a8" args="" -->
  194 +<div class="memitem">
  195 +<div class="memproto">
  196 + <table class="memname">
  197 + <tr>
  198 + <td class="memname">#define HTTP_REQ_TRACE&nbsp;&nbsp;&nbsp;6 </td>
  199 + </tr>
  200 + </table>
  201 +</div>
  202 +<div class="memdoc">
  203 +
  204 +<p>
  205 +
  206 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00010">10</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  207 +
  208 +</div>
  209 +</div><p>
  210 +<hr><h2>Function Documentation</h2>
  211 +<a class="anchor" name="b55d3458cc9e50ef2a22731d910c6385"></a><!-- doxytag: member="httpRequest.h::freeHttpHeader" ref="b55d3458cc9e50ef2a22731d910c6385" args="(tHttpHeader *)" -->
  212 +<div class="memitem">
  213 +<div class="memproto">
  214 + <table class="memname">
  215 + <tr>
  216 + <td class="memname">void freeHttpHeader </td>
  217 + <td>(</td>
  218 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  219 + <td class="paramname"> </td>
  220 + <td>&nbsp;)&nbsp;</td>
  221 + <td></td>
  222 + </tr>
  223 + </table>
  224 +</div>
  225 +<div class="memdoc">
  226 +
  227 +<p>
  228 +
  229 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00187">187</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  230 +
  231 +</div>
  232 +</div><p>
  233 +<a class="anchor" name="1bba1865657c64c0e1971a45ee6117ab"></a><!-- doxytag: member="httpRequest.h::freeHttpRequest" ref="1bba1865657c64c0e1971a45ee6117ab" args="(tHttpRequest *)" -->
  234 +<div class="memitem">
  235 +<div class="memproto">
  236 + <table class="memname">
  237 + <tr>
  238 + <td class="memname">void freeHttpRequest </td>
  239 + <td>(</td>
  240 + <td class="paramtype"><a class="el" href="structtHttpRequest.html">tHttpRequest</a> *&nbsp;</td>
  241 + <td class="paramname"> </td>
  242 + <td>&nbsp;)&nbsp;</td>
  243 + <td></td>
  244 + </tr>
  245 + </table>
  246 +</div>
  247 +<div class="memdoc">
  248 +
  249 +<p>
  250 +
  251 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00217">217</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  252 +
  253 +</div>
  254 +</div><p>
  255 +<a class="anchor" name="59d765731e7d39f5583ef175950becb1"></a><!-- doxytag: member="httpRequest.h::getHttpRequest" ref="59d765731e7d39f5583ef175950becb1" args="(char **, unsigned int *, tHttpRequest *)" -->
  256 +<div class="memitem">
  257 +<div class="memproto">
  258 + <table class="memname">
  259 + <tr>
  260 + <td class="memname">int getHttpRequest </td>
  261 + <td>(</td>
  262 + <td class="paramtype">char **&nbsp;</td>
  263 + <td class="paramname">, </td>
  264 + </tr>
  265 + <tr>
  266 + <td class="paramkey"></td>
  267 + <td></td>
  268 + <td class="paramtype">unsigned int *&nbsp;</td>
  269 + <td class="paramname">, </td>
  270 + </tr>
  271 + <tr>
  272 + <td class="paramkey"></td>
  273 + <td></td>
  274 + <td class="paramtype"><a class="el" href="structtHttpRequest.html">tHttpRequest</a> *&nbsp;</td>
  275 + <td class="paramname"></td><td>&nbsp;</td>
  276 + </tr>
  277 + <tr>
  278 + <td></td>
  279 + <td>)</td>
  280 + <td></td><td></td><td></td>
  281 + </tr>
  282 + </table>
  283 +</div>
  284 +<div class="memdoc">
  285 +
  286 +<p>
  287 +
  288 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00162">162</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  289 +
  290 +</div>
  291 +</div><p>
  292 +<a class="anchor" name="07afde622816238d4424591269f5616a"></a><!-- doxytag: member="httpRequest.h::httpHeaderGet" ref="07afde622816238d4424591269f5616a" args="(char **, unsigned int *, tHttpHeader *)" -->
  293 +<div class="memitem">
  294 +<div class="memproto">
  295 + <table class="memname">
  296 + <tr>
  297 + <td class="memname">int httpHeaderGet </td>
  298 + <td>(</td>
  299 + <td class="paramtype">char **&nbsp;</td>
  300 + <td class="paramname">, </td>
  301 + </tr>
  302 + <tr>
  303 + <td class="paramkey"></td>
  304 + <td></td>
  305 + <td class="paramtype">unsigned int *&nbsp;</td>
  306 + <td class="paramname">, </td>
  307 + </tr>
  308 + <tr>
  309 + <td class="paramkey"></td>
  310 + <td></td>
  311 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  312 + <td class="paramname"></td><td>&nbsp;</td>
  313 + </tr>
  314 + <tr>
  315 + <td></td>
  316 + <td>)</td>
  317 + <td></td><td></td><td></td>
  318 + </tr>
  319 + </table>
  320 +</div>
  321 +<div class="memdoc">
  322 +
  323 +<p>
  324 +
  325 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00085">85</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  326 +
  327 +</div>
  328 +</div><p>
  329 +<a class="anchor" name="91e1c62216e1370b68a87ffc8b120f0d"></a><!-- doxytag: member="httpRequest.h::httpHeaderIsComplete" ref="91e1c62216e1370b68a87ffc8b120f0d" args="(tHttpHeader *)" -->
  330 +<div class="memitem">
  331 +<div class="memproto">
  332 + <table class="memname">
  333 + <tr>
  334 + <td class="memname">int httpHeaderIsComplete </td>
  335 + <td>(</td>
  336 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  337 + <td class="paramname"> </td>
  338 + <td>&nbsp;)&nbsp;</td>
  339 + <td></td>
  340 + </tr>
  341 + </table>
  342 +</div>
  343 +<div class="memdoc">
  344 +
  345 +<p>
  346 +
  347 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00052">52</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  348 +
  349 +</div>
  350 +</div><p>
  351 +<a class="anchor" name="99eb3b2c1e06ee773fd3bb7da7e98ece"></a><!-- doxytag: member="httpRequest.h::httpHeaderIsStarted" ref="99eb3b2c1e06ee773fd3bb7da7e98ece" args="(tHttpHeader *)" -->
  352 +<div class="memitem">
  353 +<div class="memproto">
  354 + <table class="memname">
  355 + <tr>
  356 + <td class="memname">unsigned char httpHeaderIsStarted </td>
  357 + <td>(</td>
  358 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  359 + <td class="paramname"> </td>
  360 + <td>&nbsp;)&nbsp;</td>
  361 + <td></td>
  362 + </tr>
  363 + </table>
  364 +</div>
  365 +<div class="memdoc">
  366 +
  367 +<p>
  368 +
  369 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00062">62</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  370 +
  371 +</div>
  372 +</div><p>
  373 +<a class="anchor" name="b7ea84417c64cc894ef20f3fad58832f"></a><!-- doxytag: member="httpRequest.h::httpHeaderParseRequestLine" ref="b7ea84417c64cc894ef20f3fad58832f" args="(tHttpHeader *, const char *, unsigned int)" -->
  374 +<div class="memitem">
  375 +<div class="memproto">
  376 + <table class="memname">
  377 + <tr>
  378 + <td class="memname">void httpHeaderParseRequestLine </td>
  379 + <td>(</td>
  380 + <td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
  381 + <td class="paramname">, </td>
  382 + </tr>
  383 + <tr>
  384 + <td class="paramkey"></td>
  385 + <td></td>
  386 + <td class="paramtype">const char *&nbsp;</td>
  387 + <td class="paramname">, </td>
  388 + </tr>
  389 + <tr>
  390 + <td class="paramkey"></td>
  391 + <td></td>
  392 + <td class="paramtype">unsigned&nbsp;</td>
  393 + <td class="paramname"> <em>int</em></td><td>&nbsp;</td>
  394 + </tr>
  395 + <tr>
  396 + <td></td>
  397 + <td>)</td>
  398 + <td></td><td></td><td></td>
  399 + </tr>
  400 + </table>
  401 +</div>
  402 +<div class="memdoc">
  403 +
  404 +<p>
  405 +
  406 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00047">47</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  407 +
  408 +</div>
  409 +</div><p>
  410 +<hr><h2>Variable Documentation</h2>
  411 +<a class="anchor" name="e7110ef069c94769a78296dc38ab86ca"></a><!-- doxytag: member="httpRequest.h::httpRequest" ref="e7110ef069c94769a78296dc38ab86ca" args="[8][8]" -->
  412 +<div class="memitem">
  413 +<div class="memproto">
  414 + <table class="memname">
  415 + <tr>
  416 + <td class="memname">char <a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest</a>[8][8] </td>
  417 + </tr>
  418 + </table>
  419 +</div>
  420 +<div class="memdoc">
  421 +
  422 +<p>
  423 +
  424 +<p>Definition at line <a class="el" href="httpRequest_8c-source.html#l00013">13</a> of file <a class="el" href="httpRequest_8c-source.html">httpRequest.c</a>.</p>
  425 +
  426 +</div>
  427 +</div><p>
  428 +</div>
  429 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  430 +<a href="http://www.doxygen.org/index.html">
  431 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  432 +</body>
  433 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc</title></head>
  4 +<frameset cols="250,*">
  5 + <frame src="tree.html" name="treefrm">
  6 + <frame src="main.html" name="basefrm">
  7 + <noframes>
  8 + <a href="main.html">Frames are disabled. Click here to go to the main page.</a>
  9 + </noframes>
  10 +</frameset>
  11 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/logRotate.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>system/logRotate.c</h1><a href="logRotate_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;time.h&gt;</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for fork and exec */</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
  26 +<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;sys/wait.h&gt;</span>
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* fopen and stuff */</span>
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* exit */</span>
  29 +<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* strncpy, memcpy, etc. */</span>
  30 +<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;syslog.h&gt;</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;errno.h&gt;</span>
  32 +<a name="l00011"></a>00011
  33 +<a name="l00012"></a>00012 <span class="preprocessor">#include "../include/monitor.h"</span>
  34 +<a name="l00013"></a>00013
  35 +<a name="l00014"></a>00014
  36 +<a name="l00015"></a>00015 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>;
  37 +<a name="l00016"></a>00016
  38 +<a name="l00017"></a><a class="code" href="logRotate_8c.html#70a3ebded819019c99ad001f29e082de">00017</a> <span class="keywordtype">void</span> <a class="code" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate</a>(FILE ** handle, <span class="keywordtype">char</span> * path, <span class="keywordtype">char</span> * pattern) {
  39 +<a name="l00018"></a>00018 <span class="keyword">static</span> <span class="keywordtype">char</span> logName[1024] = <span class="stringliteral">""</span>;
  40 +<a name="l00019"></a>00019
  41 +<a name="l00020"></a>00020 <span class="keywordtype">char</span> strftimeName[128] = <span class="stringliteral">""</span>;
  42 +<a name="l00021"></a>00021 <span class="keywordtype">char</span> newLogName[1024] = <span class="stringliteral">""</span>;
  43 +<a name="l00022"></a>00022
  44 +<a name="l00023"></a>00023 time_t t;
  45 +<a name="l00024"></a>00024 <span class="keyword">struct </span>tm *tmp;
  46 +<a name="l00025"></a>00025
  47 +<a name="l00026"></a>00026 t = time(NULL);
  48 +<a name="l00027"></a>00027 tmp = localtime(&amp;t);
  49 +<a name="l00028"></a>00028 <span class="keywordflow">if</span> (tmp == NULL) {
  50 +<a name="l00029"></a>00029 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"logrotate.localtime"</span>,
  51 +<a name="l00030"></a>00030 <span class="stringliteral">"can't get localtime for new logname. continue with old one"</span>);
  52 +<a name="l00031"></a>00031 <span class="keywordflow">return</span>;
  53 +<a name="l00032"></a>00032 }
  54 +<a name="l00033"></a>00033
  55 +<a name="l00034"></a>00034 <span class="keywordflow">if</span> (strftime(strftimeName, <span class="keyword">sizeof</span>(strftimeName)-1, pattern, tmp) == 0) {
  56 +<a name="l00035"></a>00035 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"logrotate.strftime"</span>,
  57 +<a name="l00036"></a>00036 <span class="stringliteral">"strftime returned 0 for new logname. continue with old one"</span>);
  58 +<a name="l00037"></a>00037 <span class="keywordflow">return</span>;
  59 +<a name="l00038"></a>00038 }
  60 +<a name="l00039"></a>00039
  61 +<a name="l00040"></a>00040 snprintf(newLogName, <span class="keyword">sizeof</span>(newLogName)-1, <span class="stringliteral">"%s/%s"</span>, path, strftimeName);
  62 +<a name="l00041"></a>00041
  63 +<a name="l00042"></a>00042 <span class="keywordflow">if</span> (0 != strncmp(logName, newLogName, <span class="keyword">sizeof</span>(logName)-1)) {
  64 +<a name="l00043"></a>00043 <span class="keywordflow">if</span> (0 != <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>) {
  65 +<a name="l00044"></a>00044 syslog(LOG_INFO, <span class="stringliteral">"actual logfile name: %s"</span>, logName);
  66 +<a name="l00045"></a>00045 syslog(LOG_INFO, <span class="stringliteral">"new logfile name: %s"</span>, newLogName);
  67 +<a name="l00046"></a>00046 }
  68 +<a name="l00047"></a>00047
  69 +<a name="l00048"></a>00048 <span class="keywordflow">if</span> (NULL != *handle) {
  70 +<a name="l00049"></a>00049 fclose(*handle);
  71 +<a name="l00050"></a>00050
  72 +<a name="l00051"></a>00051 pid_t gzipPid = fork();
  73 +<a name="l00052"></a>00052
  74 +<a name="l00053"></a>00053 <span class="keywordflow">switch</span>(gzipPid) {
  75 +<a name="l00054"></a>00054 pid_t tmpPid;
  76 +<a name="l00055"></a>00055
  77 +<a name="l00056"></a>00056 <span class="keywordflow">case</span> 0:
  78 +<a name="l00057"></a>00057 <span class="comment">// We don't care about finishing of child, so decouple it</span>
  79 +<a name="l00058"></a>00058 <span class="comment">// by using a second child that stop immediatly</span>
  80 +<a name="l00059"></a>00059 tmpPid = fork();
  81 +<a name="l00060"></a>00060 <span class="keywordflow">if</span> (0 == tmpPid) {
  82 +<a name="l00061"></a>00061 syslog(LOG_INFO, <span class="stringliteral">"gzip: %s"</span>, logName);
  83 +<a name="l00062"></a>00062 <span class="keywordflow">if</span> (-1 == execl(<span class="stringliteral">"/bin/gzip"</span>, <span class="stringliteral">"/bin/gzip"</span>, <span class="stringliteral">"-9"</span>, logName, (<span class="keywordtype">char</span> *) 0)) {
  84 +<a name="l00063"></a>00063 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"logrotate.gzip"</span>,
  85 +<a name="l00064"></a>00064 <span class="stringliteral">"execl failed for gzip %s: %s"</span>, logName, strerror(errno));
  86 +<a name="l00065"></a>00065 }
  87 +<a name="l00066"></a>00066 }
  88 +<a name="l00067"></a>00067 exit(EXIT_SUCCESS);
  89 +<a name="l00068"></a>00068
  90 +<a name="l00069"></a>00069 <span class="keywordflow">case</span> -1:
  91 +<a name="l00070"></a>00070 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"logrotate.fork"</span>,
  92 +<a name="l00071"></a>00071 <span class="stringliteral">"fork failed for gzip %s: %s"</span>, logName, strerror(errno));
  93 +<a name="l00072"></a>00072 <span class="keywordflow">break</span>;
  94 +<a name="l00073"></a>00073
  95 +<a name="l00074"></a>00074 <span class="keywordflow">default</span>:
  96 +<a name="l00075"></a>00075 wait(NULL);
  97 +<a name="l00076"></a>00076 <span class="keywordflow">break</span>;
  98 +<a name="l00077"></a>00077 }
  99 +<a name="l00078"></a>00078 }
  100 +<a name="l00079"></a>00079
  101 +<a name="l00080"></a>00080 strncpy(logName, newLogName, <span class="keyword">sizeof</span>(logName)-1);
  102 +<a name="l00081"></a>00081 *handle = fopen(logName, <span class="stringliteral">"w"</span>);
  103 +<a name="l00082"></a>00082 }
  104 +<a name="l00083"></a>00083 }
  105 +</pre></div></div>
  106 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  107 +<a href="http://www.doxygen.org/index.html">
  108 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  109 +</body>
  110 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/logRotate.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>system/logRotate.c File Reference</h1><code>#include &lt;sys/select.h&gt;</code><br>
  25 +<code>#include &lt;time.h&gt;</code><br>
  26 +<code>#include &lt;unistd.h&gt;</code><br>
  27 +<code>#include &lt;sys/types.h&gt;</code><br>
  28 +<code>#include &lt;sys/wait.h&gt;</code><br>
  29 +<code>#include &lt;stdio.h&gt;</code><br>
  30 +<code>#include &lt;stdlib.h&gt;</code><br>
  31 +<code>#include &lt;string.h&gt;</code><br>
  32 +<code>#include &lt;syslog.h&gt;</code><br>
  33 +<code>#include &lt;errno.h&gt;</code><br>
  34 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
  35 +
  36 +<p>
  37 +<a href="logRotate_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  38 +<tr><td></td></tr>
  39 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  40 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logRotate_8c.html#70a3ebded819019c99ad001f29e082de">logRotate</a> (FILE **handle, char *path, char *pattern)</td></tr>
  41 +
  42 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  43 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logRotate_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a></td></tr>
  44 +
  45 +</table>
  46 +<hr><h2>Function Documentation</h2>
  47 +<a class="anchor" name="70a3ebded819019c99ad001f29e082de"></a><!-- doxytag: member="logRotate.c::logRotate" ref="70a3ebded819019c99ad001f29e082de" args="(FILE **handle, char *path, char *pattern)" -->
  48 +<div class="memitem">
  49 +<div class="memproto">
  50 + <table class="memname">
  51 + <tr>
  52 + <td class="memname">void logRotate </td>
  53 + <td>(</td>
  54 + <td class="paramtype">FILE **&nbsp;</td>
  55 + <td class="paramname"> <em>handle</em>, </td>
  56 + </tr>
  57 + <tr>
  58 + <td class="paramkey"></td>
  59 + <td></td>
  60 + <td class="paramtype">char *&nbsp;</td>
  61 + <td class="paramname"> <em>path</em>, </td>
  62 + </tr>
  63 + <tr>
  64 + <td class="paramkey"></td>
  65 + <td></td>
  66 + <td class="paramtype">char *&nbsp;</td>
  67 + <td class="paramname"> <em>pattern</em></td><td>&nbsp;</td>
  68 + </tr>
  69 + <tr>
  70 + <td></td>
  71 + <td>)</td>
  72 + <td></td><td></td><td></td>
  73 + </tr>
  74 + </table>
  75 +</div>
  76 +<div class="memdoc">
  77 +
  78 +<p>
  79 +
  80 +<p>Definition at line <a class="el" href="logRotate_8c-source.html#l00017">17</a> of file <a class="el" href="logRotate_8c-source.html">logRotate.c</a>.</p>
  81 +
  82 +</div>
  83 +</div><p>
  84 +<hr><h2>Variable Documentation</h2>
  85 +<a class="anchor" name="0b2caeb4b6f130be43e5a2f0267dd453"></a><!-- doxytag: member="logRotate.c::verbose" ref="0b2caeb4b6f130be43e5a2f0267dd453" args="" -->
  86 +<div class="memitem">
  87 +<div class="memproto">
  88 + <table class="memname">
  89 + <tr>
  90 + <td class="memname">int <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a> </td>
  91 + </tr>
  92 + </table>
  93 +</div>
  94 +<div class="memdoc">
  95 +
  96 +<p>
  97 +
  98 +</div>
  99 +</div><p>
  100 +</div>
  101 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  102 +<a href="http://www.doxygen.org/index.html">
  103 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  104 +</body>
  105 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/logRotate.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/logRotate.h</h1><a href="logRotate_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __LOG_ROTATE_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __LOG_ROTATE_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a>00004 <span class="keywordtype">void</span> <a class="code" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate</a>(FILE ** handle, <span class="keywordtype">char</span> * logPath, <span class="keywordtype">char</span> * logNamePattern);
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#endif </span><span class="comment">/* __LOG_ROTATE_H__ */</span>
  28 +</pre></div></div>
  29 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  30 +<a href="http://www.doxygen.org/index.html">
  31 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  32 +</body>
  33 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/logRotate.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/logRotate.h File Reference</h1>
  25 +<p>
  26 +<a href="logRotate_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate</a> (FILE **handle, char *logPath, char *logNamePattern)</td></tr>
  30 +
  31 +</table>
  32 +<hr><h2>Function Documentation</h2>
  33 +<a class="anchor" name="82df920a9975d5484d681c6f9009da38"></a><!-- doxytag: member="logRotate.h::logRotate" ref="82df920a9975d5484d681c6f9009da38" args="(FILE **handle, char *logPath, char *logNamePattern)" -->
  34 +<div class="memitem">
  35 +<div class="memproto">
  36 + <table class="memname">
  37 + <tr>
  38 + <td class="memname">void logRotate </td>
  39 + <td>(</td>
  40 + <td class="paramtype">FILE **&nbsp;</td>
  41 + <td class="paramname"> <em>handle</em>, </td>
  42 + </tr>
  43 + <tr>
  44 + <td class="paramkey"></td>
  45 + <td></td>
  46 + <td class="paramtype">char *&nbsp;</td>
  47 + <td class="paramname"> <em>logPath</em>, </td>
  48 + </tr>
  49 + <tr>
  50 + <td class="paramkey"></td>
  51 + <td></td>
  52 + <td class="paramtype">char *&nbsp;</td>
  53 + <td class="paramname"> <em>logNamePattern</em></td><td>&nbsp;</td>
  54 + </tr>
  55 + <tr>
  56 + <td></td>
  57 + <td>)</td>
  58 + <td></td><td></td><td></td>
  59 + </tr>
  60 + </table>
  61 +</div>
  62 +<div class="memdoc">
  63 +
  64 +<p>
  65 +
  66 +<p>Definition at line <a class="el" href="logRotate_8c-source.html#l00017">17</a> of file <a class="el" href="logRotate_8c-source.html">logRotate.c</a>.</p>
  67 +
  68 +</div>
  69 +</div><p>
  70 +</div>
  71 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  72 +<a href="http://www.doxygen.org/index.html">
  73 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  74 +</body>
  75 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: Main Page</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li class="current"><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 +</div>
  17 +<div class="contents">
  18 +<h1>xmlrpc Documentation</h1>
  19 +<p>
  20 +<h3 align="center">0.0.1 </h3></div>
  21 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  22 +<a href="http://www.doxygen.org/index.html">
  23 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  24 +</body>
  25 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/monitor.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>system/monitor.c</h1><a href="monitor_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for system() */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;sys/wait.h&gt;</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;string.h&gt;</span>
  26 +<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;errno.h&gt;</span>
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;signal.h&gt;</span>
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;stdarg.h&gt;</span> <span class="comment">/* for ellipse handling */</span>
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a>00009 <span class="preprocessor">#include "../include/signalHandling.h"</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor">#include "../include/monitor.h"</span>
  32 +<a name="l00011"></a>00011
  33 +<a name="l00012"></a>00012
  34 +<a name="l00013"></a><a class="code" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">00013</a> <span class="preprocessor">#define MONITORCMD "/usr/bin/monitor"</span>
  35 +<a name="l00014"></a><a class="code" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">00014</a> <span class="preprocessor"></span><span class="preprocessor">#define MONITORTYPE "test"</span>
  36 +<a name="l00015"></a><a class="code" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">00015</a> <span class="preprocessor"></span><span class="preprocessor">#define MONITORNAME "virtualitemlogreceiver"</span>
  37 +<a name="l00016"></a>00016 <span class="preprocessor"></span>
  38 +<a name="l00017"></a><a class="code" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">00017</a> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">severity</a>[][10] = {
  39 +<a name="l00018"></a>00018 <span class="stringliteral">"info"</span>,
  40 +<a name="l00019"></a>00019 <span class="stringliteral">"warning"</span>,
  41 +<a name="l00020"></a>00020 <span class="stringliteral">"critical"</span>,
  42 +<a name="l00021"></a>00021 <span class="stringliteral">"failure"</span>
  43 +<a name="l00022"></a>00022 };
  44 +<a name="l00023"></a>00023
  45 +<a name="l00024"></a>00024
  46 +<a name="l00025"></a>00025 <span class="keywordtype">int</span>
  47 +<a name="l00026"></a><a class="code" href="monitor_8c.html#afab1757e8c3bc9c5143490b256cb684">00026</a> <a class="code" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor</a>(
  48 +<a name="l00027"></a>00027 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sev,
  49 +<a name="l00028"></a>00028 <span class="keyword">const</span> <span class="keywordtype">char</span> * pattern,
  50 +<a name="l00029"></a>00029 <span class="keyword">const</span> <span class="keywordtype">char</span> * message
  51 +<a name="l00030"></a>00030 ) {
  52 +<a name="l00031"></a>00031 <span class="keywordtype">char</span> monCall[1024];
  53 +<a name="l00032"></a>00032 <span class="keywordtype">int</span> ret;
  54 +<a name="l00033"></a>00033
  55 +<a name="l00034"></a>00034 snprintf(monCall, 1023,
  56 +<a name="l00035"></a>00035 <span class="stringliteral">"%s %s %s.%s.%s \"%s\""</span>,
  57 +<a name="l00036"></a>00036 <a class="code" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">MONITORCMD</a>,
  58 +<a name="l00037"></a>00037 <a class="code" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">severity</a>[sev],
  59 +<a name="l00038"></a>00038 <a class="code" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">MONITORTYPE</a>,
  60 +<a name="l00039"></a>00039 <a class="code" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">MONITORNAME</a>,
  61 +<a name="l00040"></a>00040 pattern,
  62 +<a name="l00041"></a>00041 message);
  63 +<a name="l00042"></a>00042
  64 +<a name="l00043"></a>00043 ret = system(monCall);
  65 +<a name="l00044"></a>00044
  66 +<a name="l00045"></a>00045 <span class="keywordflow">if</span> (WIFSIGNALED(ret)) {
  67 +<a name="l00046"></a>00046 <span class="keywordflow">switch</span> (WTERMSIG(ret)) {
  68 +<a name="l00047"></a>00047 <span class="keywordflow">case</span> SIGINT:
  69 +<a name="l00048"></a>00048 <span class="keywordflow">case</span> SIGQUIT:
  70 +<a name="l00049"></a>00049 syslog(LOG_INFO, <span class="stringliteral">"interrupted in monitor call"</span>);
  71 +<a name="l00050"></a>00050 <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a>=1;
  72 +<a name="l00051"></a>00051 }
  73 +<a name="l00052"></a>00052 }
  74 +<a name="l00053"></a>00053
  75 +<a name="l00054"></a>00054 <span class="keywordflow">if</span> (-1 == ret || 0 != WEXITSTATUS(ret)) {
  76 +<a name="l00055"></a>00055 syslog(LOG_ERR, <span class="stringliteral">"call monitoring failed: %s"</span>, strerror(errno));
  77 +<a name="l00056"></a>00056 }
  78 +<a name="l00057"></a>00057
  79 +<a name="l00058"></a>00058 <span class="keywordflow">return</span> ret;
  80 +<a name="l00059"></a>00059 }
  81 +<a name="l00060"></a>00060
  82 +<a name="l00061"></a>00061 <span class="comment">/* this handles simple %d and %s replacements,</span>
  83 +<a name="l00062"></a>00062 <span class="comment"> * complexer stuff must be prepared via snprintf</span>
  84 +<a name="l00063"></a>00063 <span class="comment"> * the complete message should not extend 1024</span>
  85 +<a name="l00064"></a>00064 <span class="comment"> * Bytes, else it will be truncated silently */</span>
  86 +<a name="l00065"></a>00065 <span class="keywordtype">int</span>
  87 +<a name="l00066"></a><a class="code" href="monitor_8c.html#13e7bf0022db0d9f5dd6aeb82ec69999">00066</a> <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(
  88 +<a name="l00067"></a>00067 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> logLvl,
  89 +<a name="l00068"></a>00068 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sev,
  90 +<a name="l00069"></a>00069 <span class="keyword">const</span> <span class="keywordtype">char</span> * pattern,
  91 +<a name="l00070"></a>00070 <span class="keyword">const</span> <span class="keywordtype">char</span> * message,
  92 +<a name="l00071"></a>00071 ...
  93 +<a name="l00072"></a>00072 ) {
  94 +<a name="l00073"></a>00073 va_list args;
  95 +<a name="l00074"></a>00074 <span class="keywordtype">char</span> buffer[1025];
  96 +<a name="l00075"></a>00075 <span class="keywordtype">int</span> maxBuf = <span class="keyword">sizeof</span>(buffer)/<span class="keyword">sizeof</span>(buffer[0]);
  97 +<a name="l00076"></a>00076
  98 +<a name="l00077"></a>00077 memset(buffer, 0, maxBuf);
  99 +<a name="l00078"></a>00078
  100 +<a name="l00079"></a>00079 va_start(args, message);
  101 +<a name="l00080"></a>00080 vsnprintf(buffer, 1024, message, args);
  102 +<a name="l00081"></a>00081 va_end(args);
  103 +<a name="l00082"></a>00082
  104 +<a name="l00083"></a>00083 syslog(logLvl, <span class="stringliteral">"%s"</span>, buffer);
  105 +<a name="l00084"></a>00084 <a class="code" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor</a>(sev, pattern, buffer);
  106 +<a name="l00085"></a>00085
  107 +<a name="l00086"></a>00086 <span class="keywordflow">return</span> 0;
  108 +<a name="l00087"></a>00087 }
  109 +</pre></div></div>
  110 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  111 +<a href="http://www.doxygen.org/index.html">
  112 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  113 +</body>
  114 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/monitor.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>system/monitor.c File Reference</h1><code>#include &lt;stdlib.h&gt;</code><br>
  25 +<code>#include &lt;sys/wait.h&gt;</code><br>
  26 +<code>#include &lt;stdio.h&gt;</code><br>
  27 +<code>#include &lt;string.h&gt;</code><br>
  28 +<code>#include &lt;errno.h&gt;</code><br>
  29 +<code>#include &lt;signal.h&gt;</code><br>
  30 +<code>#include &lt;stdarg.h&gt;</code><br>
  31 +<code>#include &quot;<a class="el" href="signalHandling_8h-source.html">../include/signalHandling.h</a>&quot;</code><br>
  32 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
  33 +
  34 +<p>
  35 +<a href="monitor_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  36 +<tr><td></td></tr>
  37 +<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  38 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">MONITORCMD</a>&nbsp;&nbsp;&nbsp;&quot;/usr/bin/monitor&quot;</td></tr>
  39 +
  40 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">MONITORTYPE</a>&nbsp;&nbsp;&nbsp;&quot;test&quot;</td></tr>
  41 +
  42 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">MONITORNAME</a>&nbsp;&nbsp;&nbsp;&quot;virtualitemlogreceiver&quot;</td></tr>
  43 +
  44 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  45 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#afab1757e8c3bc9c5143490b256cb684">monitor</a> (unsigned int sev, const char *pattern, const char *message)</td></tr>
  46 +
  47 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#13e7bf0022db0d9f5dd6aeb82ec69999">syslogMonitor</a> (unsigned int logLvl, unsigned int sev, const char *pattern, const char *message,...)</td></tr>
  48 +
  49 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  50 +<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">severity</a> [][10]</td></tr>
  51 +
  52 +</table>
  53 +<hr><h2>Define Documentation</h2>
  54 +<a class="anchor" name="d2e5f556fda8453832fa6b5f7c92bc85"></a><!-- doxytag: member="monitor.c::MONITORCMD" ref="d2e5f556fda8453832fa6b5f7c92bc85" args="" -->
  55 +<div class="memitem">
  56 +<div class="memproto">
  57 + <table class="memname">
  58 + <tr>
  59 + <td class="memname">#define MONITORCMD&nbsp;&nbsp;&nbsp;&quot;/usr/bin/monitor&quot; </td>
  60 + </tr>
  61 + </table>
  62 +</div>
  63 +<div class="memdoc">
  64 +
  65 +<p>
  66 +
  67 +<p>Definition at line <a class="el" href="monitor_8c-source.html#l00013">13</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
  68 +
  69 +</div>
  70 +</div><p>
  71 +<a class="anchor" name="d79291fa6d09c30b5ad1c10c8a5d647f"></a><!-- doxytag: member="monitor.c::MONITORNAME" ref="d79291fa6d09c30b5ad1c10c8a5d647f" args="" -->
  72 +<div class="memitem">
  73 +<div class="memproto">
  74 + <table class="memname">
  75 + <tr>
  76 + <td class="memname">#define MONITORNAME&nbsp;&nbsp;&nbsp;&quot;virtualitemlogreceiver&quot; </td>
  77 + </tr>
  78 + </table>
  79 +</div>
  80 +<div class="memdoc">
  81 +
  82 +<p>
  83 +
  84 +<p>Definition at line <a class="el" href="monitor_8c-source.html#l00015">15</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
  85 +
  86 +</div>
  87 +</div><p>
  88 +<a class="anchor" name="630eb7604f0fe1161c6165cec5200b3d"></a><!-- doxytag: member="monitor.c::MONITORTYPE" ref="630eb7604f0fe1161c6165cec5200b3d" args="" -->
  89 +<div class="memitem">
  90 +<div class="memproto">
  91 + <table class="memname">
  92 + <tr>
  93 + <td class="memname">#define MONITORTYPE&nbsp;&nbsp;&nbsp;&quot;test&quot; </td>
  94 + </tr>
  95 + </table>
  96 +</div>
  97 +<div class="memdoc">
  98 +
  99 +<p>
  100 +
  101 +<p>Definition at line <a class="el" href="monitor_8c-source.html#l00014">14</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
  102 +
  103 +</div>
  104 +</div><p>
  105 +<hr><h2>Function Documentation</h2>
  106 +<a class="anchor" name="afab1757e8c3bc9c5143490b256cb684"></a><!-- doxytag: member="monitor.c::monitor" ref="afab1757e8c3bc9c5143490b256cb684" args="(unsigned int sev, const char *pattern, const char *message)" -->
  107 +<div class="memitem">
  108 +<div class="memproto">
  109 + <table class="memname">
  110 + <tr>
  111 + <td class="memname">int monitor </td>
  112 + <td>(</td>
  113 + <td class="paramtype">unsigned int&nbsp;</td>
  114 + <td class="paramname"> <em>sev</em>, </td>
  115 + </tr>
  116 + <tr>
  117 + <td class="paramkey"></td>
  118 + <td></td>
  119 + <td class="paramtype">const char *&nbsp;</td>
  120 + <td class="paramname"> <em>pattern</em>, </td>
  121 + </tr>
  122 + <tr>
  123 + <td class="paramkey"></td>
  124 + <td></td>
  125 + <td class="paramtype">const char *&nbsp;</td>
  126 + <td class="paramname"> <em>message</em></td><td>&nbsp;</td>
  127 + </tr>
  128 + <tr>
  129 + <td></td>
  130 + <td>)</td>
  131 + <td></td><td></td><td></td>
  132 + </tr>
  133 + </table>
  134 +</div>
  135 +<div class="memdoc">
  136 +
  137 +<p>
  138 +
  139 +<p>Definition at line <a class="el" href="monitor_8c-source.html#l00026">26</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
  140 +
  141 +</div>
  142 +</div><p>
  143 +<a class="anchor" name="13e7bf0022db0d9f5dd6aeb82ec69999"></a><!-- doxytag: member="monitor.c::syslogMonitor" ref="13e7bf0022db0d9f5dd6aeb82ec69999" args="(unsigned int logLvl, unsigned int sev, const char *pattern, const char *message,...)" -->
  144 +<div class="memitem">
  145 +<div class="memproto">
  146 + <table class="memname">
  147 + <tr>
  148 + <td class="memname">int syslogMonitor </td>
  149 + <td>(</td>
  150 + <td class="paramtype">unsigned int&nbsp;</td>
  151 + <td class="paramname"> <em>logLvl</em>, </td>
  152 + </tr>
  153 + <tr>
  154 + <td class="paramkey"></td>
  155 + <td></td>
  156 + <td class="paramtype">unsigned int&nbsp;</td>
  157 + <td class="paramname"> <em>sev</em>, </td>
  158 + </tr>
  159 + <tr>
  160 + <td class="paramkey"></td>
  161 + <td></td>
  162 + <td class="paramtype">const char *&nbsp;</td>
  163 + <td class="paramname"> <em>pattern</em>, </td>
  164 + </tr>
  165 + <tr>
  166 + <td class="paramkey"></td>
  167 + <td></td>
  168 + <td class="paramtype">const char *&nbsp;</td>
  169 + <td class="paramname"> <em>message</em>, </td>
  170 + </tr>
  171 + <tr>
  172 + <td class="paramkey"></td>
  173 + <td></td>
  174 + <td class="paramtype">&nbsp;</td>
  175 + <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
  176 + </tr>
  177 + <tr>
  178 + <td></td>
  179 + <td>)</td>
  180 + <td></td><td></td><td></td>
  181 + </tr>
  182 + </table>
  183 +</div>
  184 +<div class="memdoc">
  185 +
  186 +<p>
  187 +
  188 +<p>Definition at line <a class="el" href="monitor_8c-source.html#l00066">66</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
  189 +
  190 +</div>
  191 +</div><p>
  192 +<hr><h2>Variable Documentation</h2>
  193 +<a class="anchor" name="8142dc3c72610140dfcacc52de5881fd"></a><!-- doxytag: member="monitor.c::severity" ref="8142dc3c72610140dfcacc52de5881fd" args="[][10]" -->
  194 +<div class="memitem">
  195 +<div class="memproto">
  196 + <table class="memname">
  197 + <tr>
  198 + <td class="memname">const char <a class="el" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">severity</a>[][10] </td>
  199 + </tr>
  200 + </table>
  201 +</div>
  202 +<div class="memdoc">
  203 +
  204 +<p>
  205 +<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
  206 + <span class="stringliteral">"info"</span>,
  207 + <span class="stringliteral">"warning"</span>,
  208 + <span class="stringliteral">"critical"</span>,
  209 + <span class="stringliteral">"failure"</span>
  210 +}
  211 +</pre></div>
  212 +<p>Definition at line <a class="el" href="monitor_8c-source.html#l00017">17</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
  213 +
  214 +</div>
  215 +</div><p>
  216 +</div>
  217 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  218 +<a href="http://www.doxygen.org/index.html">
  219 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  220 +</body>
  221 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/monitor.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/monitor.h</h1><a href="monitor_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __MONITOR_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __MONITOR_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;syslog.h&gt;</span> <span class="comment">/* for logging */</span>
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a><a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">00006</a> <span class="preprocessor">#define MON_INFO 0</span>
  28 +<a name="l00007"></a><a class="code" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">00007</a> <span class="preprocessor"></span><span class="preprocessor">#define MON_WARNING 1</span>
  29 +<a name="l00008"></a><a class="code" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">00008</a> <span class="preprocessor"></span><span class="preprocessor">#define MON_CRITICAL 2</span>
  30 +<a name="l00009"></a><a class="code" href="monitor_8h.html#c41f84ee1d999369a9496a2c49c4181c">00009</a> <span class="preprocessor"></span><span class="preprocessor">#define MON_FAILURE 3</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor"></span>
  32 +<a name="l00011"></a>00011 <span class="keywordtype">int</span> <a class="code" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sev, <span class="keyword">const</span> <span class="keywordtype">char</span> * pattern, <span class="keyword">const</span> <span class="keywordtype">char</span> * message);
  33 +<a name="l00012"></a>00012 <span class="keywordtype">int</span> <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> logLvl, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sev, <span class="keyword">const</span> <span class="keywordtype">char</span> *pattern, <span class="keyword">const</span> <span class="keywordtype">char</span> * message, ...) __attribute__ ((format (printf, 4, 5)));
  34 +<a name="l00013"></a>00013
  35 +<a name="l00014"></a>00014 <span class="preprocessor">#endif </span><span class="comment">/* __MONITOR_H__ */</span>
  36 +</pre></div></div>
  37 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  38 +<a href="http://www.doxygen.org/index.html">
  39 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  40 +</body>
  41 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/monitor.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/monitor.h File Reference</h1><code>#include &lt;syslog.h&gt;</code><br>
  25 +
  26 +<p>
  27 +<a href="monitor_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  28 +<tr><td></td></tr>
  29 +<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  30 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>&nbsp;&nbsp;&nbsp;0</td></tr>
  31 +
  32 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">MON_WARNING</a>&nbsp;&nbsp;&nbsp;1</td></tr>
  33 +
  34 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">MON_CRITICAL</a>&nbsp;&nbsp;&nbsp;2</td></tr>
  35 +
  36 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#c41f84ee1d999369a9496a2c49c4181c">MON_FAILURE</a>&nbsp;&nbsp;&nbsp;3</td></tr>
  37 +
  38 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor</a> (unsigned int sev, const char *pattern, const char *message)</td></tr>
  40 +
  41 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a> (unsigned int logLvl, unsigned int sev, const char *pattern, const char *message,...) __attribute__((format(printf</td></tr>
  42 +
  43 +</table>
  44 +<hr><h2>Define Documentation</h2>
  45 +<a class="anchor" name="b11b9abcce9ac28426ff81c206e28fc8"></a><!-- doxytag: member="monitor.h::MON_CRITICAL" ref="b11b9abcce9ac28426ff81c206e28fc8" args="" -->
  46 +<div class="memitem">
  47 +<div class="memproto">
  48 + <table class="memname">
  49 + <tr>
  50 + <td class="memname">#define MON_CRITICAL&nbsp;&nbsp;&nbsp;2 </td>
  51 + </tr>
  52 + </table>
  53 +</div>
  54 +<div class="memdoc">
  55 +
  56 +<p>
  57 +
  58 +<p>Definition at line <a class="el" href="monitor_8h-source.html#l00008">8</a> of file <a class="el" href="monitor_8h-source.html">monitor.h</a>.</p>
  59 +
  60 +</div>
  61 +</div><p>
  62 +<a class="anchor" name="c41f84ee1d999369a9496a2c49c4181c"></a><!-- doxytag: member="monitor.h::MON_FAILURE" ref="c41f84ee1d999369a9496a2c49c4181c" args="" -->
  63 +<div class="memitem">
  64 +<div class="memproto">
  65 + <table class="memname">
  66 + <tr>
  67 + <td class="memname">#define MON_FAILURE&nbsp;&nbsp;&nbsp;3 </td>
  68 + </tr>
  69 + </table>
  70 +</div>
  71 +<div class="memdoc">
  72 +
  73 +<p>
  74 +
  75 +<p>Definition at line <a class="el" href="monitor_8h-source.html#l00009">9</a> of file <a class="el" href="monitor_8h-source.html">monitor.h</a>.</p>
  76 +
  77 +</div>
  78 +</div><p>
  79 +<a class="anchor" name="d702c7f3311c0b76ee05d7efd27c87b2"></a><!-- doxytag: member="monitor.h::MON_INFO" ref="d702c7f3311c0b76ee05d7efd27c87b2" args="" -->
  80 +<div class="memitem">
  81 +<div class="memproto">
  82 + <table class="memname">
  83 + <tr>
  84 + <td class="memname">#define MON_INFO&nbsp;&nbsp;&nbsp;0 </td>
  85 + </tr>
  86 + </table>
  87 +</div>
  88 +<div class="memdoc">
  89 +
  90 +<p>
  91 +
  92 +<p>Definition at line <a class="el" href="monitor_8h-source.html#l00006">6</a> of file <a class="el" href="monitor_8h-source.html">monitor.h</a>.</p>
  93 +
  94 +</div>
  95 +</div><p>
  96 +<a class="anchor" name="8eabf82310c059cc80dceaa533a74182"></a><!-- doxytag: member="monitor.h::MON_WARNING" ref="8eabf82310c059cc80dceaa533a74182" args="" -->
  97 +<div class="memitem">
  98 +<div class="memproto">
  99 + <table class="memname">
  100 + <tr>
  101 + <td class="memname">#define MON_WARNING&nbsp;&nbsp;&nbsp;1 </td>
  102 + </tr>
  103 + </table>
  104 +</div>
  105 +<div class="memdoc">
  106 +
  107 +<p>
  108 +
  109 +<p>Definition at line <a class="el" href="monitor_8h-source.html#l00007">7</a> of file <a class="el" href="monitor_8h-source.html">monitor.h</a>.</p>
  110 +
  111 +</div>
  112 +</div><p>
  113 +<hr><h2>Function Documentation</h2>
  114 +<a class="anchor" name="afab1757e8c3bc9c5143490b256cb684"></a><!-- doxytag: member="monitor.h::monitor" ref="afab1757e8c3bc9c5143490b256cb684" args="(unsigned int sev, const char *pattern, const char *message)" -->
  115 +<div class="memitem">
  116 +<div class="memproto">
  117 + <table class="memname">
  118 + <tr>
  119 + <td class="memname">int monitor </td>
  120 + <td>(</td>
  121 + <td class="paramtype">unsigned int&nbsp;</td>
  122 + <td class="paramname"> <em>sev</em>, </td>
  123 + </tr>
  124 + <tr>
  125 + <td class="paramkey"></td>
  126 + <td></td>
  127 + <td class="paramtype">const char *&nbsp;</td>
  128 + <td class="paramname"> <em>pattern</em>, </td>
  129 + </tr>
  130 + <tr>
  131 + <td class="paramkey"></td>
  132 + <td></td>
  133 + <td class="paramtype">const char *&nbsp;</td>
  134 + <td class="paramname"> <em>message</em></td><td>&nbsp;</td>
  135 + </tr>
  136 + <tr>
  137 + <td></td>
  138 + <td>)</td>
  139 + <td></td><td></td><td></td>
  140 + </tr>
  141 + </table>
  142 +</div>
  143 +<div class="memdoc">
  144 +
  145 +<p>
  146 +
  147 +<p>Definition at line <a class="el" href="monitor_8c-source.html#l00026">26</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
  148 +
  149 +</div>
  150 +</div><p>
  151 +<a class="anchor" name="5d332cf84a9d6dd9c77382a74960cccf"></a><!-- doxytag: member="monitor.h::syslogMonitor" ref="5d332cf84a9d6dd9c77382a74960cccf" args="(unsigned int logLvl, unsigned int sev, const char *pattern, const char *message,...) __attribute__((format(printf" -->
  152 +<div class="memitem">
  153 +<div class="memproto">
  154 + <table class="memname">
  155 + <tr>
  156 + <td class="memname">int syslogMonitor </td>
  157 + <td>(</td>
  158 + <td class="paramtype">unsigned int&nbsp;</td>
  159 + <td class="paramname"> <em>logLvl</em>, </td>
  160 + </tr>
  161 + <tr>
  162 + <td class="paramkey"></td>
  163 + <td></td>
  164 + <td class="paramtype">unsigned int&nbsp;</td>
  165 + <td class="paramname"> <em>sev</em>, </td>
  166 + </tr>
  167 + <tr>
  168 + <td class="paramkey"></td>
  169 + <td></td>
  170 + <td class="paramtype">const char *&nbsp;</td>
  171 + <td class="paramname"> <em>pattern</em>, </td>
  172 + </tr>
  173 + <tr>
  174 + <td class="paramkey"></td>
  175 + <td></td>
  176 + <td class="paramtype">const char *&nbsp;</td>
  177 + <td class="paramname"> <em>message</em>, </td>
  178 + </tr>
  179 + <tr>
  180 + <td class="paramkey"></td>
  181 + <td></td>
  182 + <td class="paramtype">&nbsp;</td>
  183 + <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
  184 + </tr>
  185 + <tr>
  186 + <td></td>
  187 + <td>)</td>
  188 + <td></td><td></td><td></td>
  189 + </tr>
  190 + </table>
  191 +</div>
  192 +<div class="memdoc">
  193 +
  194 +<p>
  195 +
  196 +</div>
  197 +</div><p>
  198 +</div>
  199 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  200 +<a href="http://www.doxygen.org/index.html">
  201 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  202 +</body>
  203 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: server/serverInit.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>server/serverInit.c</h1><a href="serverInit_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for getopt */</span>
  25 +<a name="l00004"></a>00004
  26 +<a name="l00005"></a>00005 <span class="preprocessor">#include "../include/server.h"</span>
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include "../include/socket.h"</span>
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include "../include/monitor.h"</span>
  29 +<a name="l00008"></a>00008 <span class="preprocessor">#include "../include/logRotate.h"</span>
  30 +<a name="l00009"></a>00009
  31 +<a name="l00010"></a>00010 <span class="keywordtype">void</span>
  32 +<a name="l00011"></a><a class="code" href="serverInit_8c.html#68050069ed3a2e05cb02440090c89a1f">00011</a> <a class="code" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">serverInit</a>(
  33 +<a name="l00012"></a>00012 <a class="code" href="structtServer.html">tServer</a> * server,
  34 +<a name="l00013"></a>00013 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> port,
  35 +<a name="l00014"></a>00014 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pending,
  36 +<a name="l00015"></a>00015 <span class="keyword">const</span> <span class="keywordtype">char</span> * logPath,
  37 +<a name="l00016"></a>00016 <span class="keyword">const</span> <span class="keywordtype">char</span> * namePat)
  38 +<a name="l00017"></a>00017 {
  39 +<a name="l00018"></a>00018 FD_ZERO(&amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
  40 +<a name="l00019"></a>00019
  41 +<a name="l00020"></a>00020 server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a> = <a class="code" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a>(port, pending);
  42 +<a name="l00021"></a>00021 server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a> = server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>;
  43 +<a name="l00022"></a>00022 FD_SET(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
  44 +<a name="l00023"></a>00023
  45 +<a name="l00024"></a>00024 strncpy(server-&gt;<a class="code" href="structtServer.html#17180f100090e101569a3a95934c38aa">logPath</a>, logPath, <span class="keyword">sizeof</span>(server-&gt;<a class="code" href="structtServer.html#17180f100090e101569a3a95934c38aa">logPath</a>)-1);
  46 +<a name="l00025"></a>00025 strncpy(server-&gt;<a class="code" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">namePat</a>, namePat, <span class="keyword">sizeof</span>(server-&gt;<a class="code" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">namePat</a>)-1);
  47 +<a name="l00026"></a>00026
  48 +<a name="l00027"></a>00027 memset(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>, 0, <span class="keyword">sizeof</span>(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>));
  49 +<a name="l00028"></a>00028
  50 +<a name="l00029"></a>00029 <span class="comment">/*</span>
  51 +<a name="l00030"></a>00030 <span class="comment"> * try to open file (firstrun)</span>
  52 +<a name="l00031"></a>00031 <span class="comment"> */</span>
  53 +<a name="l00032"></a>00032 <span class="keywordflow">if</span> (NULL == server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>) {
  54 +<a name="l00033"></a>00033 <a class="code" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate</a>(&amp;(server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>), server-&gt;<a class="code" href="structtServer.html#17180f100090e101569a3a95934c38aa">logPath</a>, server-&gt;<a class="code" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">namePat</a>);
  55 +<a name="l00034"></a>00034 <span class="keywordflow">if</span> (NULL == server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>) {
  56 +<a name="l00035"></a>00035 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"logfile.rotate"</span>,
  57 +<a name="l00036"></a>00036 <span class="stringliteral">"no valid handle for logfile - service terminated"</span>);
  58 +<a name="l00037"></a>00037 exit(EXIT_FAILURE);
  59 +<a name="l00038"></a>00038 }
  60 +<a name="l00039"></a>00039 }
  61 +<a name="l00040"></a>00040 }
  62 +</pre></div></div>
  63 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  64 +<a href="http://www.doxygen.org/index.html">
  65 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  66 +</body>
  67 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: server/serverInit.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>server/serverInit.c File Reference</h1><code>#include &lt;sys/select.h&gt;</code><br>
  25 +<code>#include &lt;string.h&gt;</code><br>
  26 +<code>#include &lt;stdlib.h&gt;</code><br>
  27 +<code>#include &quot;<a class="el" href="server_8h-source.html">../include/server.h</a>&quot;</code><br>
  28 +<code>#include &quot;<a class="el" href="socket_8h-source.html">../include/socket.h</a>&quot;</code><br>
  29 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
  30 +<code>#include &quot;<a class="el" href="logRotate_8h-source.html">../include/logRotate.h</a>&quot;</code><br>
  31 +
  32 +<p>
  33 +<a href="serverInit_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  34 +<tr><td></td></tr>
  35 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  36 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverInit_8c.html#68050069ed3a2e05cb02440090c89a1f">serverInit</a> (<a class="el" href="structtServer.html">tServer</a> *server, unsigned int port, unsigned int pending, const char *logPath, const char *namePat)</td></tr>
  37 +
  38 +</table>
  39 +<hr><h2>Function Documentation</h2>
  40 +<a class="anchor" name="68050069ed3a2e05cb02440090c89a1f"></a><!-- doxytag: member="serverInit.c::serverInit" ref="68050069ed3a2e05cb02440090c89a1f" args="(tServer *server, unsigned int port, unsigned int pending, const char *logPath, const char *namePat)" -->
  41 +<div class="memitem">
  42 +<div class="memproto">
  43 + <table class="memname">
  44 + <tr>
  45 + <td class="memname">void serverInit </td>
  46 + <td>(</td>
  47 + <td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
  48 + <td class="paramname"> <em>server</em>, </td>
  49 + </tr>
  50 + <tr>
  51 + <td class="paramkey"></td>
  52 + <td></td>
  53 + <td class="paramtype">unsigned int&nbsp;</td>
  54 + <td class="paramname"> <em>port</em>, </td>
  55 + </tr>
  56 + <tr>
  57 + <td class="paramkey"></td>
  58 + <td></td>
  59 + <td class="paramtype">unsigned int&nbsp;</td>
  60 + <td class="paramname"> <em>pending</em>, </td>
  61 + </tr>
  62 + <tr>
  63 + <td class="paramkey"></td>
  64 + <td></td>
  65 + <td class="paramtype">const char *&nbsp;</td>
  66 + <td class="paramname"> <em>logPath</em>, </td>
  67 + </tr>
  68 + <tr>
  69 + <td class="paramkey"></td>
  70 + <td></td>
  71 + <td class="paramtype">const char *&nbsp;</td>
  72 + <td class="paramname"> <em>namePat</em></td><td>&nbsp;</td>
  73 + </tr>
  74 + <tr>
  75 + <td></td>
  76 + <td>)</td>
  77 + <td></td><td></td><td></td>
  78 + </tr>
  79 + </table>
  80 +</div>
  81 +<div class="memdoc">
  82 +
  83 +<p>
  84 +
  85 +<p>Definition at line <a class="el" href="serverInit_8c-source.html#l00011">11</a> of file <a class="el" href="serverInit_8c-source.html">serverInit.c</a>.</p>
  86 +
  87 +</div>
  88 +</div><p>
  89 +</div>
  90 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  91 +<a href="http://www.doxygen.org/index.html">
  92 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  93 +</body>
  94 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: server/serverRun.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>server/serverRun.c</h1><a href="serverRun_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for exit */</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;errno.h&gt;</span> <span class="comment">/* for errno */</span>
  26 +<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for write */</span>
  27 +<a name="l00006"></a>00006
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;expat.h&gt;</span>
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a>00009 <span class="preprocessor">#include "../include/appConfig.h"</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor">#include "../include/server.h"</span>
  32 +<a name="l00011"></a>00011 <span class="preprocessor">#include "../include/client.h"</span>
  33 +<a name="l00012"></a>00012 <span class="preprocessor">#include "../include/socket.h"</span>
  34 +<a name="l00013"></a>00013 <span class="preprocessor">#include "../include/monitor.h"</span>
  35 +<a name="l00014"></a>00014 <span class="preprocessor">#include "../include/logRotate.h"</span>
  36 +<a name="l00015"></a>00015 <span class="preprocessor">#include "../include/signalHandling.h"</span>
  37 +<a name="l00016"></a>00016 <span class="preprocessor">#include "../include/httpRequest.h"</span>
  38 +<a name="l00017"></a>00017
  39 +<a name="l00018"></a><a class="code" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">00018</a> <span class="preprocessor">#define RESPONSE " 200 OK\r\nServer: xmlrpc\r\nStatus: 200\r\nContent-Length: 10\r\nContent-Type: text/plain\r\n\r\n0123456789"</span>
  40 +<a name="l00019"></a>00019 <span class="preprocessor"></span>
  41 +<a name="l00020"></a><a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">00020</a> <span class="keywordtype">int</span> <a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a>;
  42 +<a name="l00021"></a>00021
  43 +<a name="l00022"></a>00022 <span class="keywordtype">void</span> XMLCALL
  44 +<a name="l00023"></a><a class="code" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">00023</a> <a class="code" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">start</a>(<span class="keywordtype">void</span> *data, <span class="keyword">const</span> <span class="keywordtype">char</span> *el, <span class="keyword">const</span> <span class="keywordtype">char</span> **attr) {
  45 +<a name="l00024"></a>00024 <span class="keywordtype">int</span> i;
  46 +<a name="l00025"></a>00025
  47 +<a name="l00026"></a>00026 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a>; i++)
  48 +<a name="l00027"></a>00027 printf(<span class="stringliteral">" "</span>);
  49 +<a name="l00028"></a>00028
  50 +<a name="l00029"></a>00029 printf(<span class="stringliteral">"%s"</span>, el);
  51 +<a name="l00030"></a>00030
  52 +<a name="l00031"></a>00031 <span class="keywordflow">for</span> (i = 0; attr[i]; i += 2) {
  53 +<a name="l00032"></a>00032 printf(<span class="stringliteral">" %s='%s'"</span>, attr[i], attr[i + 1]);
  54 +<a name="l00033"></a>00033 }
  55 +<a name="l00034"></a>00034
  56 +<a name="l00035"></a>00035 printf(<span class="stringliteral">"\n"</span>);
  57 +<a name="l00036"></a>00036 Depth++;
  58 +<a name="l00037"></a>00037 } <span class="comment">/* End of start handler */</span>
  59 +<a name="l00038"></a>00038
  60 +<a name="l00039"></a>00039 <span class="keywordtype">void</span> XMLCALL
  61 +<a name="l00040"></a><a class="code" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">00040</a> <a class="code" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">end</a>(<span class="keywordtype">void</span> *data, <span class="keyword">const</span> <span class="keywordtype">char</span> *el) {
  62 +<a name="l00041"></a>00041 <span class="keywordtype">int</span> i;
  63 +<a name="l00042"></a>00042
  64 +<a name="l00043"></a>00043 <a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a>--;
  65 +<a name="l00044"></a>00044 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a>; i++)
  66 +<a name="l00045"></a>00045 printf(<span class="stringliteral">" "</span>);
  67 +<a name="l00046"></a>00046 printf(<span class="stringliteral">"--\n"</span>);
  68 +<a name="l00047"></a>00047 } <span class="comment">/* End of end handler */</span>
  69 +<a name="l00048"></a>00048
  70 +<a name="l00049"></a>00049 <span class="keywordtype">void</span>
  71 +<a name="l00050"></a><a class="code" href="serverRun_8c.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">00050</a> <a class="code" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun</a>(<a class="code" href="structtServer.html">tServer</a> * server)
  72 +<a name="l00051"></a>00051 {
  73 +<a name="l00052"></a>00052 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_INFO, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"startup"</span>, <span class="stringliteral">"service started"</span>);
  74 +<a name="l00053"></a>00053
  75 +<a name="l00054"></a>00054 <span class="keywordflow">while</span> (!<a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a>) <span class="comment">/* until error or signal */</span>
  76 +<a name="l00055"></a>00055 {
  77 +<a name="l00056"></a>00056 fd_set rfds;
  78 +<a name="l00057"></a>00057 fd_set wfds;
  79 +<a name="l00058"></a>00058 <span class="keywordtype">int</span> i;
  80 +<a name="l00059"></a>00059
  81 +<a name="l00060"></a>00060 memcpy(&amp;rfds, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>), <span class="keyword">sizeof</span>(fd_set));
  82 +<a name="l00061"></a>00061
  83 +<a name="l00062"></a>00062 FD_ZERO(&amp;wfds);
  84 +<a name="l00063"></a>00063 <span class="keywordflow">for</span> (i=3; i&lt;=server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>; i++) {
  85 +<a name="l00064"></a>00064 <a class="code" href="structtClient.html">tClient</a> * actClient = &amp;(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[i];
  86 +<a name="l00065"></a>00065
  87 +<a name="l00066"></a>00066 <span class="keywordflow">if</span> (FD_ISSET(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>))
  88 +<a name="l00067"></a>00067 &amp;&amp; NULL != actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>
  89 +<a name="l00068"></a>00068 &amp;&amp; 0 != strlen(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>)) {
  90 +<a name="l00069"></a>00069 FD_SET(i, &amp;wfds);
  91 +<a name="l00070"></a>00070 }
  92 +<a name="l00071"></a>00071 }
  93 +<a name="l00072"></a>00072
  94 +<a name="l00073"></a>00073 <span class="comment">/*</span>
  95 +<a name="l00074"></a>00074 <span class="comment"> * wait for handles to become ready</span>
  96 +<a name="l00075"></a>00075 <span class="comment"> */</span>
  97 +<a name="l00076"></a>00076 <span class="keywordflow">if</span> (-1 == select((server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>)+1, &amp;rfds, &amp;wfds, NULL, NULL))
  98 +<a name="l00077"></a>00077 {
  99 +<a name="l00078"></a>00078 <span class="keywordflow">switch</span> (errno) {
  100 +<a name="l00079"></a>00079 <span class="keywordflow">default</span>:
  101 +<a name="l00080"></a>00080 <span class="keywordflow">case</span> EBADF:
  102 +<a name="l00081"></a>00081 <span class="keywordflow">case</span> EINVAL:
  103 +<a name="l00082"></a>00082 <span class="keywordflow">case</span> ENOMEM:
  104 +<a name="l00083"></a>00083 <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a> = 1;
  105 +<a name="l00084"></a>00084 <span class="comment">/* Fallthrough */</span>
  106 +<a name="l00085"></a>00085
  107 +<a name="l00086"></a>00086 <span class="keywordflow">case</span> EINTR:
  108 +<a name="l00087"></a>00087 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"select"</span>,
  109 +<a name="l00088"></a>00088 <span class="stringliteral">"select systemcall failed: [%s] - service terminated"</span>,
  110 +<a name="l00089"></a>00089 strerror(errno));
  111 +<a name="l00090"></a>00090 <span class="keywordflow">continue</span>; <span class="comment">/* in while loop above */</span>
  112 +<a name="l00091"></a>00091 }
  113 +<a name="l00092"></a>00092 }
  114 +<a name="l00093"></a>00093
  115 +<a name="l00094"></a>00094 <span class="comment">/*</span>
  116 +<a name="l00095"></a>00095 <span class="comment"> * handle accept</span>
  117 +<a name="l00096"></a>00096 <span class="comment"> */</span>
  118 +<a name="l00097"></a>00097 <span class="keywordflow">if</span> (FD_ISSET(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, &amp;rfds)) {
  119 +<a name="l00098"></a>00098 <span class="keywordtype">int</span> fd;
  120 +<a name="l00099"></a>00099 <span class="keywordtype">char</span> remoteAddr[16] = <span class="stringliteral">""</span>;
  121 +<a name="l00100"></a>00100
  122 +<a name="l00101"></a>00101 <span class="keywordflow">if</span> (-1 != (fd = <a class="code" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a>(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, remoteAddr))) {
  123 +<a name="l00102"></a>00102 (server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].socket = fd; <span class="comment">// save the socket handle within the client struct</span>
  124 +<a name="l00103"></a>00103 strncpy(
  125 +<a name="l00104"></a>00104 (server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].remoteAddr,
  126 +<a name="l00105"></a>00105 remoteAddr,
  127 +<a name="l00106"></a>00106 <span class="keyword">sizeof</span>((server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].remoteAddr)-1);
  128 +<a name="l00107"></a>00107 FD_SET(fd, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
  129 +<a name="l00108"></a>00108 server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a> = <a class="code" href="appConfig_8h.html#acc3ee1a7f283f8ef65cea31f4436a95">MAX</a>(fd, server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>);
  130 +<a name="l00109"></a>00109
  131 +<a name="l00110"></a>00110 (server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].parser = XML_ParserCreate(<span class="stringliteral">"UTF-8"</span>);
  132 +<a name="l00111"></a>00111 XML_SetElementHandler((server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].parser, &amp;<a class="code" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">start</a>, &amp;<a class="code" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">end</a>);
  133 +<a name="l00112"></a>00112
  134 +<a name="l00113"></a>00113 }
  135 +<a name="l00114"></a>00114
  136 +<a name="l00115"></a>00115 FD_CLR(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, &amp;rfds);
  137 +<a name="l00116"></a>00116 }
  138 +<a name="l00117"></a>00117
  139 +<a name="l00118"></a>00118 <span class="comment">/* handle reads (max 10 before next select, else we block accept for to long) */</span>
  140 +<a name="l00119"></a>00119 <span class="keywordflow">for</span> (i=3; i&lt;=server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>; i++) {
  141 +<a name="l00120"></a>00120 <span class="comment">// for (i=3, count=0; i&lt;=server-&gt;maxFd &amp;&amp; count&lt;10; i++, count++) {</span>
  142 +<a name="l00121"></a>00121 <a class="code" href="structtClient.html">tClient</a> * actClient = &amp;(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[i];
  143 +<a name="l00122"></a>00122
  144 +<a name="l00123"></a>00123 <span class="keywordflow">if</span> (FD_ISSET(i, &amp;rfds)) {
  145 +<a name="l00124"></a>00124 <span class="keywordflow">switch</span> (<a class="code" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">clientRead</a>(actClient)) {
  146 +<a name="l00125"></a>00125 <span class="keywordflow">case</span> -1:
  147 +<a name="l00126"></a>00126 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_WARNING, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"socket.read"</span>,
  148 +<a name="l00127"></a>00127 <span class="stringliteral">"read on socket for %s returns -1: %s"</span>,
  149 +<a name="l00128"></a>00128 actClient-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>, strerror(errno));
  150 +<a name="l00129"></a>00129 <span class="comment">/* FALLTHROUGH */</span>
  151 +<a name="l00130"></a>00130
  152 +<a name="l00131"></a>00131 <span class="keywordflow">case</span> 0:
  153 +<a name="l00132"></a>00132 <a class="code" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a>(actClient);
  154 +<a name="l00133"></a>00133 FD_CLR(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
  155 +<a name="l00134"></a>00134 <span class="keywordflow">break</span>;
  156 +<a name="l00135"></a>00135
  157 +<a name="l00136"></a>00136 <span class="keywordflow">default</span>:
  158 +<a name="l00137"></a>00137 <span class="keywordflow">if</span> (! <a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>))) {
  159 +<a name="l00138"></a>00138 <span class="keywordtype">char</span> delim[] = <span class="stringliteral">"\r\n"</span>;
  160 +<a name="l00139"></a>00139 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len = strlen(delim);
  161 +<a name="l00140"></a>00140 <span class="keywordtype">char</span> * line = <a class="code" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a>(actClient, delim, &amp;len);
  162 +<a name="l00141"></a>00141
  163 +<a name="l00142"></a>00142 <span class="comment">/* </span>
  164 +<a name="l00143"></a>00143 <span class="comment"> * len might be 0, thus indicatin an empty line</span>
  165 +<a name="l00144"></a>00144 <span class="comment"> * this might happen in two cases</span>
  166 +<a name="l00145"></a>00145 <span class="comment"> * 1. when a header is not already started</span>
  167 +<a name="l00146"></a>00146 <span class="comment"> * (could be identifies by a null req.method</span>
  168 +<a name="l00147"></a>00147 <span class="comment"> * 2. if a header is started, then it indicates</span>
  169 +<a name="l00148"></a>00148 <span class="comment"> * the end of the header.</span>
  170 +<a name="l00149"></a>00149 <span class="comment"> */</span>
  171 +<a name="l00150"></a>00150
  172 +<a name="l00151"></a>00151 <span class="keywordflow">while</span> (! <a class="code" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpHeaderIsStarted</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>))) {
  173 +<a name="l00152"></a>00152
  174 +<a name="l00153"></a>00153 <span class="keywordflow">if</span> (0 != len) {
  175 +<a name="l00154"></a>00154 <a class="code" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpHeaderParseRequestLine</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>), line, len);
  176 +<a name="l00155"></a>00155 <span class="comment">// TODO: do some error handling here</span>
  177 +<a name="l00156"></a>00156 }
  178 +<a name="l00157"></a>00157
  179 +<a name="l00158"></a>00158 len = strlen(delim);
  180 +<a name="l00159"></a>00159 <a class="code" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">clientRemoveLine</a>(actClient, delim, &amp;len); <span class="comment">// TODO: do some error handling here</span>
  181 +<a name="l00160"></a>00160 len = strlen(delim);
  182 +<a name="l00161"></a>00161 line = <a class="code" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a>(actClient, delim, &amp;len);
  183 +<a name="l00162"></a>00162
  184 +<a name="l00163"></a>00163 }
  185 +<a name="l00164"></a>00164
  186 +<a name="l00165"></a>00165 <span class="keywordflow">while</span> (NULL != line) {
  187 +<a name="l00166"></a>00166 <span class="keywordflow">if</span> (NULL == actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a>) {
  188 +<a name="l00167"></a>00167 }
  189 +<a name="l00168"></a>00168 }
  190 +<a name="l00169"></a>00169 }
  191 +<a name="l00170"></a>00170
  192 +<a name="l00171"></a>00171 <span class="keywordflow">if</span> (!<a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>))) {
  193 +<a name="l00172"></a>00172 actClient-&gt;<a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a> = <a class="code" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpHeaderGet</a>(
  194 +<a name="l00173"></a>00173 &amp;(actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>),
  195 +<a name="l00174"></a>00174 &amp;(actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>),
  196 +<a name="l00175"></a>00175 &amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>));
  197 +<a name="l00176"></a>00176 }
  198 +<a name="l00177"></a>00177
  199 +<a name="l00178"></a>00178 <span class="keywordflow">if</span> (<a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>))) {
  200 +<a name="l00179"></a>00179 <span class="keywordtype">size_t</span> size = <a class="code" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">MIN</a>(actClient-&gt;<a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a>, actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>);
  201 +<a name="l00180"></a>00180 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> isLast = !(size - actClient-&gt;<a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a>);
  202 +<a name="l00181"></a>00181
  203 +<a name="l00182"></a>00182 <span class="keyword">enum</span> XML_Status expatStat;
  204 +<a name="l00183"></a>00183
  205 +<a name="l00184"></a>00184 expatStat = XML_Parse(actClient-&gt;<a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a>, actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, size, isLast);
  206 +<a name="l00185"></a>00185
  207 +<a name="l00186"></a>00186 actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> -= size;
  208 +<a name="l00187"></a>00187 actClient-&gt;<a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a> -= size;
  209 +<a name="l00188"></a>00188 memmove(actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> + size, actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>);
  210 +<a name="l00189"></a>00189 memset(actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> + actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>, 0, size);
  211 +<a name="l00190"></a>00190
  212 +<a name="l00191"></a>00191 <span class="keywordflow">if</span> (isLast &amp;&amp; NULL == actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>) {
  213 +<a name="l00192"></a>00192
  214 +<a name="l00193"></a>00193 actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> = calloc(
  215 +<a name="l00194"></a>00194 strlen(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>) +
  216 +<a name="l00195"></a>00195 strlen(<a class="code" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">RESPONSE</a>) + 3,
  217 +<a name="l00196"></a>00196 <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
  218 +<a name="l00197"></a>00197 sprintf(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>, <span class="stringliteral">"%s%s"</span>,
  219 +<a name="l00198"></a>00198 actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>,
  220 +<a name="l00199"></a>00199 <a class="code" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">RESPONSE</a>);
  221 +<a name="l00200"></a>00200
  222 +<a name="l00201"></a>00201 <a class="code" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">freeHttpHeader</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>));
  223 +<a name="l00202"></a>00202 XML_ParserFree(actClient-&gt;<a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a>);
  224 +<a name="l00203"></a>00203 actClient-&gt;<a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a> = NULL;
  225 +<a name="l00204"></a>00204 }
  226 +<a name="l00205"></a>00205 }
  227 +<a name="l00206"></a>00206 <span class="keywordflow">break</span>;
  228 +<a name="l00207"></a>00207 }
  229 +<a name="l00208"></a>00208 }
  230 +<a name="l00209"></a>00209 }
  231 +<a name="l00210"></a>00210
  232 +<a name="l00211"></a>00211 <span class="comment">/* handle writes */</span>
  233 +<a name="l00212"></a>00212 <span class="keywordflow">for</span> (i=3; i&lt;=server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>; i++) {
  234 +<a name="l00213"></a>00213 <span class="comment">// for (i=3, count=0; i&lt;=server-&gt;maxFd &amp;&amp; count&lt;10; i++, count++) {</span>
  235 +<a name="l00214"></a>00214 <a class="code" href="structtClient.html">tClient</a> * actClient = &amp;(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[i];
  236 +<a name="l00215"></a>00215
  237 +<a name="l00216"></a>00216 <span class="comment">// TODO: the &amp;&amp; is only symptom fix...need to find real bug.</span>
  238 +<a name="l00217"></a>00217 <span class="keywordflow">if</span> (FD_ISSET(i, &amp;wfds) &amp;&amp; NULL != actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>) {
  239 +<a name="l00218"></a>00218 <span class="keywordtype">int</span> writeSize = 0;
  240 +<a name="l00219"></a>00219 <span class="keywordtype">int</span> toWrite = strlen(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>);
  241 +<a name="l00220"></a>00220
  242 +<a name="l00221"></a>00221 writeSize = write(actClient-&gt;<a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a>, actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>, toWrite);
  243 +<a name="l00222"></a>00222
  244 +<a name="l00223"></a>00223 <span class="keywordflow">if</span> (0 &lt; writeSize) {
  245 +<a name="l00224"></a>00224 <span class="keywordflow">if</span> (writeSize == toWrite) {
  246 +<a name="l00225"></a>00225 free(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>);
  247 +<a name="l00226"></a>00226 actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> = NULL;
  248 +<a name="l00227"></a>00227
  249 +<a name="l00228"></a>00228 <a class="code" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a>(actClient);
  250 +<a name="l00229"></a>00229 FD_CLR(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
  251 +<a name="l00230"></a>00230 } <span class="keywordflow">else</span> {
  252 +<a name="l00231"></a>00231 memmove(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>, actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> + writeSize, toWrite - writeSize);
  253 +<a name="l00232"></a>00232 memset(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> + (toWrite - writeSize), 0, writeSize);
  254 +<a name="l00233"></a>00233 }
  255 +<a name="l00234"></a>00234 }
  256 +<a name="l00235"></a>00235 }
  257 +<a name="l00236"></a>00236 }
  258 +<a name="l00237"></a>00237 }
  259 +<a name="l00238"></a>00238 }
  260 +</pre></div></div>
  261 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  262 +<a href="http://www.doxygen.org/index.html">
  263 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  264 +</body>
  265 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: server/serverRun.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>server/serverRun.c File Reference</h1><code>#include &lt;sys/select.h&gt;</code><br>
  25 +<code>#include &lt;string.h&gt;</code><br>
  26 +<code>#include &lt;stdlib.h&gt;</code><br>
  27 +<code>#include &lt;errno.h&gt;</code><br>
  28 +<code>#include &lt;unistd.h&gt;</code><br>
  29 +<code>#include &lt;expat.h&gt;</code><br>
  30 +<code>#include &quot;<a class="el" href="appConfig_8h-source.html">../include/appConfig.h</a>&quot;</code><br>
  31 +<code>#include &quot;<a class="el" href="server_8h-source.html">../include/server.h</a>&quot;</code><br>
  32 +<code>#include &quot;<a class="el" href="client_8h-source.html">../include/client.h</a>&quot;</code><br>
  33 +<code>#include &quot;<a class="el" href="socket_8h-source.html">../include/socket.h</a>&quot;</code><br>
  34 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
  35 +<code>#include &quot;<a class="el" href="logRotate_8h-source.html">../include/logRotate.h</a>&quot;</code><br>
  36 +<code>#include &quot;<a class="el" href="signalHandling_8h-source.html">../include/signalHandling.h</a>&quot;</code><br>
  37 +<code>#include &quot;<a class="el" href="httpRequest_8h-source.html">../include/httpRequest.h</a>&quot;</code><br>
  38 +
  39 +<p>
  40 +<a href="serverRun_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  41 +<tr><td></td></tr>
  42 +<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
  43 +<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">RESPONSE</a>&nbsp;&nbsp;&nbsp;&quot; 200 OK\r\nServer: xmlrpc\r\nStatus: 200\r\nContent-Length: 10\r\nContent-Type: text/plain\r\n\r\n0123456789&quot;</td></tr>
  44 +
  45 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  46 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void XMLCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">start</a> (void *data, const char *el, const char **attr)</td></tr>
  47 +
  48 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void XMLCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">end</a> (void *data, const char *el)</td></tr>
  49 +
  50 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun</a> (<a class="el" href="structtServer.html">tServer</a> *server)</td></tr>
  51 +
  52 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  53 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a></td></tr>
  54 +
  55 +</table>
  56 +<hr><h2>Define Documentation</h2>
  57 +<a class="anchor" name="98a2366f9ef44f0d3eee7d33981bbe8a"></a><!-- doxytag: member="serverRun.c::RESPONSE" ref="98a2366f9ef44f0d3eee7d33981bbe8a" args="" -->
  58 +<div class="memitem">
  59 +<div class="memproto">
  60 + <table class="memname">
  61 + <tr>
  62 + <td class="memname">#define RESPONSE&nbsp;&nbsp;&nbsp;&quot; 200 OK\r\nServer: xmlrpc\r\nStatus: 200\r\nContent-Length: 10\r\nContent-Type: text/plain\r\n\r\n0123456789&quot; </td>
  63 + </tr>
  64 + </table>
  65 +</div>
  66 +<div class="memdoc">
  67 +
  68 +<p>
  69 +
  70 +<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00018">18</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
  71 +
  72 +</div>
  73 +</div><p>
  74 +<hr><h2>Function Documentation</h2>
  75 +<a class="anchor" name="1e60190f250d3f699f3671c759e6fe36"></a><!-- doxytag: member="serverRun.c::end" ref="1e60190f250d3f699f3671c759e6fe36" args="(void *data, const char *el)" -->
  76 +<div class="memitem">
  77 +<div class="memproto">
  78 + <table class="memname">
  79 + <tr>
  80 + <td class="memname">void XMLCALL end </td>
  81 + <td>(</td>
  82 + <td class="paramtype">void *&nbsp;</td>
  83 + <td class="paramname"> <em>data</em>, </td>
  84 + </tr>
  85 + <tr>
  86 + <td class="paramkey"></td>
  87 + <td></td>
  88 + <td class="paramtype">const char *&nbsp;</td>
  89 + <td class="paramname"> <em>el</em></td><td>&nbsp;</td>
  90 + </tr>
  91 + <tr>
  92 + <td></td>
  93 + <td>)</td>
  94 + <td></td><td></td><td></td>
  95 + </tr>
  96 + </table>
  97 +</div>
  98 +<div class="memdoc">
  99 +
  100 +<p>
  101 +
  102 +<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00040">40</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
  103 +
  104 +</div>
  105 +</div><p>
  106 +<a class="anchor" name="208ea34b5a69f6ff0d48ed85c9a6f9eb"></a><!-- doxytag: member="serverRun.c::serverRun" ref="208ea34b5a69f6ff0d48ed85c9a6f9eb" args="(tServer *server)" -->
  107 +<div class="memitem">
  108 +<div class="memproto">
  109 + <table class="memname">
  110 + <tr>
  111 + <td class="memname">void serverRun </td>
  112 + <td>(</td>
  113 + <td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
  114 + <td class="paramname"> <em>server</em> </td>
  115 + <td>&nbsp;)&nbsp;</td>
  116 + <td></td>
  117 + </tr>
  118 + </table>
  119 +</div>
  120 +<div class="memdoc">
  121 +
  122 +<p>
  123 +
  124 +<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00050">50</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
  125 +
  126 +</div>
  127 +</div><p>
  128 +<a class="anchor" name="73425567b97c64e9af77c626e0069f67"></a><!-- doxytag: member="serverRun.c::start" ref="73425567b97c64e9af77c626e0069f67" args="(void *data, const char *el, const char **attr)" -->
  129 +<div class="memitem">
  130 +<div class="memproto">
  131 + <table class="memname">
  132 + <tr>
  133 + <td class="memname">void XMLCALL start </td>
  134 + <td>(</td>
  135 + <td class="paramtype">void *&nbsp;</td>
  136 + <td class="paramname"> <em>data</em>, </td>
  137 + </tr>
  138 + <tr>
  139 + <td class="paramkey"></td>
  140 + <td></td>
  141 + <td class="paramtype">const char *&nbsp;</td>
  142 + <td class="paramname"> <em>el</em>, </td>
  143 + </tr>
  144 + <tr>
  145 + <td class="paramkey"></td>
  146 + <td></td>
  147 + <td class="paramtype">const char **&nbsp;</td>
  148 + <td class="paramname"> <em>attr</em></td><td>&nbsp;</td>
  149 + </tr>
  150 + <tr>
  151 + <td></td>
  152 + <td>)</td>
  153 + <td></td><td></td><td></td>
  154 + </tr>
  155 + </table>
  156 +</div>
  157 +<div class="memdoc">
  158 +
  159 +<p>
  160 +
  161 +<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00023">23</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
  162 +
  163 +</div>
  164 +</div><p>
  165 +<hr><h2>Variable Documentation</h2>
  166 +<a class="anchor" name="c66dbe0e082fd3cc29bc1572a4dccc09"></a><!-- doxytag: member="serverRun.c::Depth" ref="c66dbe0e082fd3cc29bc1572a4dccc09" args="" -->
  167 +<div class="memitem">
  168 +<div class="memproto">
  169 + <table class="memname">
  170 + <tr>
  171 + <td class="memname">int <a class="el" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a> </td>
  172 + </tr>
  173 + </table>
  174 +</div>
  175 +<div class="memdoc">
  176 +
  177 +<p>
  178 +
  179 +<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00020">20</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
  180 +
  181 +</div>
  182 +</div><p>
  183 +</div>
  184 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  185 +<a href="http://www.doxygen.org/index.html">
  186 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  187 +</body>
  188 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: server/serverShutdown.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>server/serverShutdown.c</h1><a href="serverShutdown_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for printf() and fprintf() */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span> <span class="comment">/* for select system call and related */</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for exit */</span>
  26 +<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for getopt */</span>
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;errno.h&gt;</span> <span class="comment">/* for errno */</span>
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a>00009 <span class="preprocessor">#include "../include/server.h"</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor">#include "../include/monitor.h"</span>
  32 +<a name="l00011"></a>00011 <span class="preprocessor">#include "../include/writeBuffer.h"</span>
  33 +<a name="l00012"></a>00012
  34 +<a name="l00013"></a>00013
  35 +<a name="l00014"></a>00014 <span class="keywordtype">void</span>
  36 +<a name="l00015"></a><a class="code" href="serverShutdown_8c.html#50decfdd3550b2490a1b9448a313cbf9">00015</a> <a class="code" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown</a>(<a class="code" href="structtServer.html">tServer</a> * server)
  37 +<a name="l00016"></a>00016 {
  38 +<a name="l00017"></a>00017 <span class="keywordtype">int</span> i;
  39 +<a name="l00018"></a>00018
  40 +<a name="l00019"></a>00019 <span class="keywordflow">for</span> (i=3; i&lt;=server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>; i++) {
  41 +<a name="l00020"></a>00020 <span class="keywordflow">if</span> (FD_ISSET(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>))) {
  42 +<a name="l00021"></a>00021 <span class="keywordflow">if</span> (i == server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>) {
  43 +<a name="l00022"></a>00022 shutdown(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, SHUT_RDWR);
  44 +<a name="l00023"></a>00023 close(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>);
  45 +<a name="l00024"></a>00024 } <span class="keywordflow">else</span> {
  46 +<a name="l00025"></a>00025 <span class="comment">/* actual do nothing except closing the client */</span>
  47 +<a name="l00026"></a>00026 <a class="code" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a>(&amp;((server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[i]));
  48 +<a name="l00027"></a>00027 FD_CLR(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
  49 +<a name="l00028"></a>00028 }
  50 +<a name="l00029"></a>00029 }
  51 +<a name="l00030"></a>00030 }
  52 +<a name="l00031"></a>00031
  53 +<a name="l00032"></a>00032 <span class="keywordflow">if</span> (NULL != server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>) {
  54 +<a name="l00033"></a>00033 fclose(server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>);
  55 +<a name="l00034"></a>00034 }
  56 +<a name="l00035"></a>00035 }
  57 +</pre></div></div>
  58 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  59 +<a href="http://www.doxygen.org/index.html">
  60 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  61 +</body>
  62 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: server/serverShutdown.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>server/serverShutdown.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
  25 +<code>#include &lt;sys/select.h&gt;</code><br>
  26 +<code>#include &lt;sys/socket.h&gt;</code><br>
  27 +<code>#include &lt;stdlib.h&gt;</code><br>
  28 +<code>#include &lt;string.h&gt;</code><br>
  29 +<code>#include &lt;unistd.h&gt;</code><br>
  30 +<code>#include &lt;errno.h&gt;</code><br>
  31 +<code>#include &quot;<a class="el" href="server_8h-source.html">../include/server.h</a>&quot;</code><br>
  32 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
  33 +<code>#include &quot;<a class="el" href="writeBuffer_8h-source.html">../include/writeBuffer.h</a>&quot;</code><br>
  34 +
  35 +<p>
  36 +<a href="serverShutdown_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  37 +<tr><td></td></tr>
  38 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverShutdown_8c.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown</a> (<a class="el" href="structtServer.html">tServer</a> *server)</td></tr>
  40 +
  41 +</table>
  42 +<hr><h2>Function Documentation</h2>
  43 +<a class="anchor" name="50decfdd3550b2490a1b9448a313cbf9"></a><!-- doxytag: member="serverShutdown.c::serverShutdown" ref="50decfdd3550b2490a1b9448a313cbf9" args="(tServer *server)" -->
  44 +<div class="memitem">
  45 +<div class="memproto">
  46 + <table class="memname">
  47 + <tr>
  48 + <td class="memname">void serverShutdown </td>
  49 + <td>(</td>
  50 + <td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
  51 + <td class="paramname"> <em>server</em> </td>
  52 + <td>&nbsp;)&nbsp;</td>
  53 + <td></td>
  54 + </tr>
  55 + </table>
  56 +</div>
  57 +<div class="memdoc">
  58 +
  59 +<p>
  60 +
  61 +<p>Definition at line <a class="el" href="serverShutdown_8c-source.html#l00015">15</a> of file <a class="el" href="serverShutdown_8c-source.html">serverShutdown.c</a>.</p>
  62 +
  63 +</div>
  64 +</div><p>
  65 +</div>
  66 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  67 +<a href="http://www.doxygen.org/index.html">
  68 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  69 +</body>
  70 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/server.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/server.h</h1><a href="server_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __SERVER_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __SERVER_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for printf() and fprintf() */</span>
  26 +<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
  27 +<a name="l00006"></a>00006
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include "<a class="code" href="client_8h.html">client.h</a>"</span>
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a><a class="code" href="structtServer.html">00009</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
  31 +<a name="l00010"></a><a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">00010</a> <span class="keywordtype">int</span> servSock;
  32 +<a name="l00011"></a><a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">00011</a> <a class="code" href="structtClient.html">tClient</a> clients[FD_SETSIZE];
  33 +<a name="l00012"></a><a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">00012</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxFd;
  34 +<a name="l00013"></a><a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">00013</a> fd_set socks;
  35 +<a name="l00014"></a><a class="code" href="structtServer.html#17180f100090e101569a3a95934c38aa">00014</a> <span class="keywordtype">char</span> logPath[512];
  36 +<a name="l00015"></a><a class="code" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">00015</a> <span class="keywordtype">char</span> namePat[512];
  37 +<a name="l00016"></a><a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">00016</a> FILE * wHandle;
  38 +<a name="l00017"></a>00017 } <a class="code" href="structtServer.html">tServer</a>;
  39 +<a name="l00018"></a>00018
  40 +<a name="l00019"></a>00019
  41 +<a name="l00020"></a>00020 <span class="keywordtype">void</span> <a class="code" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown</a>(<a class="code" href="structtServer.html">tServer</a> * server);
  42 +<a name="l00021"></a>00021 <span class="keywordtype">void</span> <a class="code" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">serverInit</a>(
  43 +<a name="l00022"></a>00022 <a class="code" href="structtServer.html">tServer</a> * server,
  44 +<a name="l00023"></a>00023 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> port,
  45 +<a name="l00024"></a>00024 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pending,
  46 +<a name="l00025"></a>00025 <span class="keyword">const</span> <span class="keywordtype">char</span> * logPath,
  47 +<a name="l00026"></a>00026 <span class="keyword">const</span> <span class="keywordtype">char</span> * namePat);
  48 +<a name="l00027"></a>00027 <span class="keywordtype">void</span> <a class="code" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun</a>(<a class="code" href="structtServer.html">tServer</a> * server);
  49 +<a name="l00028"></a>00028
  50 +<a name="l00029"></a>00029 <span class="preprocessor">#endif // __SERVER_H__</span>
  51 +</pre></div></div>
  52 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  53 +<a href="http://www.doxygen.org/index.html">
  54 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  55 +</body>
  56 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/server.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/server.h File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
  25 +<code>#include &lt;sys/select.h&gt;</code><br>
  26 +<code>#include &quot;<a class="el" href="client_8h-source.html">client.h</a>&quot;</code><br>
  27 +
  28 +<p>
  29 +<a href="server_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  30 +<tr><td></td></tr>
  31 +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
  32 +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html">tServer</a></td></tr>
  33 +
  34 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  35 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown</a> (<a class="el" href="structtServer.html">tServer</a> *server)</td></tr>
  36 +
  37 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">serverInit</a> (<a class="el" href="structtServer.html">tServer</a> *server, unsigned int port, unsigned int pending, const char *logPath, const char *namePat)</td></tr>
  38 +
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun</a> (<a class="el" href="structtServer.html">tServer</a> *server)</td></tr>
  40 +
  41 +</table>
  42 +<hr><h2>Function Documentation</h2>
  43 +<a class="anchor" name="68050069ed3a2e05cb02440090c89a1f"></a><!-- doxytag: member="server.h::serverInit" ref="68050069ed3a2e05cb02440090c89a1f" args="(tServer *server, unsigned int port, unsigned int pending, const char *logPath, const char *namePat)" -->
  44 +<div class="memitem">
  45 +<div class="memproto">
  46 + <table class="memname">
  47 + <tr>
  48 + <td class="memname">void serverInit </td>
  49 + <td>(</td>
  50 + <td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
  51 + <td class="paramname"> <em>server</em>, </td>
  52 + </tr>
  53 + <tr>
  54 + <td class="paramkey"></td>
  55 + <td></td>
  56 + <td class="paramtype">unsigned int&nbsp;</td>
  57 + <td class="paramname"> <em>port</em>, </td>
  58 + </tr>
  59 + <tr>
  60 + <td class="paramkey"></td>
  61 + <td></td>
  62 + <td class="paramtype">unsigned int&nbsp;</td>
  63 + <td class="paramname"> <em>pending</em>, </td>
  64 + </tr>
  65 + <tr>
  66 + <td class="paramkey"></td>
  67 + <td></td>
  68 + <td class="paramtype">const char *&nbsp;</td>
  69 + <td class="paramname"> <em>logPath</em>, </td>
  70 + </tr>
  71 + <tr>
  72 + <td class="paramkey"></td>
  73 + <td></td>
  74 + <td class="paramtype">const char *&nbsp;</td>
  75 + <td class="paramname"> <em>namePat</em></td><td>&nbsp;</td>
  76 + </tr>
  77 + <tr>
  78 + <td></td>
  79 + <td>)</td>
  80 + <td></td><td></td><td></td>
  81 + </tr>
  82 + </table>
  83 +</div>
  84 +<div class="memdoc">
  85 +
  86 +<p>
  87 +
  88 +<p>Definition at line <a class="el" href="serverInit_8c-source.html#l00011">11</a> of file <a class="el" href="serverInit_8c-source.html">serverInit.c</a>.</p>
  89 +
  90 +</div>
  91 +</div><p>
  92 +<a class="anchor" name="208ea34b5a69f6ff0d48ed85c9a6f9eb"></a><!-- doxytag: member="server.h::serverRun" ref="208ea34b5a69f6ff0d48ed85c9a6f9eb" args="(tServer *server)" -->
  93 +<div class="memitem">
  94 +<div class="memproto">
  95 + <table class="memname">
  96 + <tr>
  97 + <td class="memname">void serverRun </td>
  98 + <td>(</td>
  99 + <td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
  100 + <td class="paramname"> <em>server</em> </td>
  101 + <td>&nbsp;)&nbsp;</td>
  102 + <td></td>
  103 + </tr>
  104 + </table>
  105 +</div>
  106 +<div class="memdoc">
  107 +
  108 +<p>
  109 +
  110 +<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00050">50</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
  111 +
  112 +</div>
  113 +</div><p>
  114 +<a class="anchor" name="50decfdd3550b2490a1b9448a313cbf9"></a><!-- doxytag: member="server.h::serverShutdown" ref="50decfdd3550b2490a1b9448a313cbf9" args="(tServer *server)" -->
  115 +<div class="memitem">
  116 +<div class="memproto">
  117 + <table class="memname">
  118 + <tr>
  119 + <td class="memname">void serverShutdown </td>
  120 + <td>(</td>
  121 + <td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
  122 + <td class="paramname"> <em>server</em> </td>
  123 + <td>&nbsp;)&nbsp;</td>
  124 + <td></td>
  125 + </tr>
  126 + </table>
  127 +</div>
  128 +<div class="memdoc">
  129 +
  130 +<p>
  131 +
  132 +<p>Definition at line <a class="el" href="serverShutdown_8c-source.html#l00015">15</a> of file <a class="el" href="serverShutdown_8c-source.html">serverShutdown.c</a>.</p>
  133 +
  134 +</div>
  135 +</div><p>
  136 +</div>
  137 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  138 +<a href="http://www.doxygen.org/index.html">
  139 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  140 +</body>
  141 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/signalHandling.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>system/signalHandling.c</h1><a href="signalHandling_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;signal.h&gt;</span> <span class="comment">/* for signal() and signal names */</span>
  23 +<a name="l00002"></a>00002
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include "../include/monitor.h"</span>
  25 +<a name="l00004"></a>00004
  26 +<a name="l00005"></a><a class="code" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">00005</a> <span class="keyword">volatile</span> <span class="keywordtype">int</span> <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a>;
  27 +<a name="l00006"></a>00006
  28 +<a name="l00007"></a><a class="code" href="signalHandling_8c.html#64612b9588ed0fb05d70680db02b3630">00007</a> <span class="keywordtype">void</span> <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>(<span class="keywordtype">int</span> signum)
  29 +<a name="l00008"></a>00008 {
  30 +<a name="l00009"></a>00009 signal(signum, SIG_IGN);
  31 +<a name="l00010"></a>00010 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_INFO, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"signals"</span>,
  32 +<a name="l00011"></a>00011 <span class="stringliteral">"caugth deadly signal %d, service terminated"</span>, signum);
  33 +<a name="l00012"></a>00012 <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a> = 1;
  34 +<a name="l00013"></a>00013 }
  35 +<a name="l00014"></a>00014
  36 +<a name="l00015"></a><a class="code" href="signalHandling_8c.html#1de31bdef82f181f8045b94ae0933916">00015</a> <span class="keywordtype">void</span> <a class="code" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">init_signals</a>(<span class="keywordtype">void</span>)
  37 +<a name="l00016"></a>00016 {
  38 +<a name="l00017"></a>00017 signal(SIGTERM, <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>);
  39 +<a name="l00018"></a>00018 signal(SIGHUP, SIG_IGN);
  40 +<a name="l00019"></a>00019 signal(SIGINT, <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>);
  41 +<a name="l00020"></a>00020 signal(SIGQUIT, <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>);
  42 +<a name="l00021"></a>00021 signal(SIGABRT, <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>);
  43 +<a name="l00022"></a>00022 signal(SIGALRM, SIG_IGN);
  44 +<a name="l00023"></a>00023 signal(SIGURG, SIG_IGN);
  45 +<a name="l00024"></a>00024
  46 +<a name="l00025"></a>00025 signal(SIGPIPE, SIG_IGN);
  47 +<a name="l00026"></a>00026 }
  48 +</pre></div></div>
  49 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  50 +<a href="http://www.doxygen.org/index.html">
  51 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  52 +</body>
  53 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/signalHandling.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>system/signalHandling.c File Reference</h1><code>#include &lt;signal.h&gt;</code><br>
  25 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
  26 +
  27 +<p>
  28 +<a href="signalHandling_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  29 +<tr><td></td></tr>
  30 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8c.html#64612b9588ed0fb05d70680db02b3630">terminate</a> (int signum)</td></tr>
  32 +
  33 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8c.html#1de31bdef82f181f8045b94ae0933916">init_signals</a> (void)</td></tr>
  34 +
  35 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  36 +<tr><td class="memItemLeft" nowrap align="right" valign="top">volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a></td></tr>
  37 +
  38 +</table>
  39 +<hr><h2>Function Documentation</h2>
  40 +<a class="anchor" name="1de31bdef82f181f8045b94ae0933916"></a><!-- doxytag: member="signalHandling.c::init_signals" ref="1de31bdef82f181f8045b94ae0933916" args="(void)" -->
  41 +<div class="memitem">
  42 +<div class="memproto">
  43 + <table class="memname">
  44 + <tr>
  45 + <td class="memname">void init_signals </td>
  46 + <td>(</td>
  47 + <td class="paramtype">void&nbsp;</td>
  48 + <td class="paramname"> </td>
  49 + <td>&nbsp;)&nbsp;</td>
  50 + <td></td>
  51 + </tr>
  52 + </table>
  53 +</div>
  54 +<div class="memdoc">
  55 +
  56 +<p>
  57 +
  58 +<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00015">15</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
  59 +
  60 +</div>
  61 +</div><p>
  62 +<a class="anchor" name="64612b9588ed0fb05d70680db02b3630"></a><!-- doxytag: member="signalHandling.c::terminate" ref="64612b9588ed0fb05d70680db02b3630" args="(int signum)" -->
  63 +<div class="memitem">
  64 +<div class="memproto">
  65 + <table class="memname">
  66 + <tr>
  67 + <td class="memname">void terminate </td>
  68 + <td>(</td>
  69 + <td class="paramtype">int&nbsp;</td>
  70 + <td class="paramname"> <em>signum</em> </td>
  71 + <td>&nbsp;)&nbsp;</td>
  72 + <td></td>
  73 + </tr>
  74 + </table>
  75 +</div>
  76 +<div class="memdoc">
  77 +
  78 +<p>
  79 +
  80 +<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00007">7</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
  81 +
  82 +</div>
  83 +</div><p>
  84 +<hr><h2>Variable Documentation</h2>
  85 +<a class="anchor" name="960e985a396acaabb1bbed4f15668ade"></a><!-- doxytag: member="signalHandling.c::doShutdown" ref="960e985a396acaabb1bbed4f15668ade" args="" -->
  86 +<div class="memitem">
  87 +<div class="memproto">
  88 + <table class="memname">
  89 + <tr>
  90 + <td class="memname">volatile int <a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a> </td>
  91 + </tr>
  92 + </table>
  93 +</div>
  94 +<div class="memdoc">
  95 +
  96 +<p>
  97 +
  98 +<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00005">5</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
  99 +
  100 +</div>
  101 +</div><p>
  102 +</div>
  103 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  104 +<a href="http://www.doxygen.org/index.html">
  105 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  106 +</body>
  107 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/signalHandling.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/signalHandling.h</h1><a href="signalHandling_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __SIGNAL_HANDLING_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __SIGNAL_HANDLING_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a>00004 <span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keywordtype">int</span> <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a>;
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="keywordtype">void</span> <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>(<span class="keywordtype">int</span> signum);
  28 +<a name="l00007"></a>00007 <span class="keywordtype">void</span> <a class="code" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">init_signals</a>(<span class="keywordtype">void</span>);
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a>00009 <span class="preprocessor">#endif // __SIGNAL_HANDLING_H__</span>
  31 +<a name="l00010"></a>00010 <span class="preprocessor"></span>
  32 +</pre></div></div>
  33 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  34 +<a href="http://www.doxygen.org/index.html">
  35 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  36 +</body>
  37 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/signalHandling.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/signalHandling.h File Reference</h1>
  25 +<p>
  26 +<a href="signalHandling_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a> (int signum)</td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">init_signals</a> (void)</td></tr>
  32 +
  33 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  34 +<tr><td class="memItemLeft" nowrap align="right" valign="top">volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a></td></tr>
  35 +
  36 +</table>
  37 +<hr><h2>Function Documentation</h2>
  38 +<a class="anchor" name="1de31bdef82f181f8045b94ae0933916"></a><!-- doxytag: member="signalHandling.h::init_signals" ref="1de31bdef82f181f8045b94ae0933916" args="(void)" -->
  39 +<div class="memitem">
  40 +<div class="memproto">
  41 + <table class="memname">
  42 + <tr>
  43 + <td class="memname">void init_signals </td>
  44 + <td>(</td>
  45 + <td class="paramtype">void&nbsp;</td>
  46 + <td class="paramname"> </td>
  47 + <td>&nbsp;)&nbsp;</td>
  48 + <td></td>
  49 + </tr>
  50 + </table>
  51 +</div>
  52 +<div class="memdoc">
  53 +
  54 +<p>
  55 +
  56 +<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00015">15</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
  57 +
  58 +</div>
  59 +</div><p>
  60 +<a class="anchor" name="64612b9588ed0fb05d70680db02b3630"></a><!-- doxytag: member="signalHandling.h::terminate" ref="64612b9588ed0fb05d70680db02b3630" args="(int signum)" -->
  61 +<div class="memitem">
  62 +<div class="memproto">
  63 + <table class="memname">
  64 + <tr>
  65 + <td class="memname">void terminate </td>
  66 + <td>(</td>
  67 + <td class="paramtype">int&nbsp;</td>
  68 + <td class="paramname"> <em>signum</em> </td>
  69 + <td>&nbsp;)&nbsp;</td>
  70 + <td></td>
  71 + </tr>
  72 + </table>
  73 +</div>
  74 +<div class="memdoc">
  75 +
  76 +<p>
  77 +
  78 +<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00007">7</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
  79 +
  80 +</div>
  81 +</div><p>
  82 +<hr><h2>Variable Documentation</h2>
  83 +<a class="anchor" name="960e985a396acaabb1bbed4f15668ade"></a><!-- doxytag: member="signalHandling.h::doShutdown" ref="960e985a396acaabb1bbed4f15668ade" args="" -->
  84 +<div class="memitem">
  85 +<div class="memproto">
  86 + <table class="memname">
  87 + <tr>
  88 + <td class="memname">volatile int <a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a> </td>
  89 + </tr>
  90 + </table>
  91 +</div>
  92 +<div class="memdoc">
  93 +
  94 +<p>
  95 +
  96 +<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00005">5</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
  97 +
  98 +</div>
  99 +</div><p>
  100 +</div>
  101 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  102 +<a href="http://www.doxygen.org/index.html">
  103 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  104 +</body>
  105 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/socket.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>system/socket.c</h1><a href="socket_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for printf() and fprintf() */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span> <span class="comment">/* for socket(), bind(), and connect() */</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;arpa/inet.h&gt;</span> <span class="comment">/* for sockaddr_in and inet_ntoa() */</span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for atoi() and exit() */</span>
  26 +<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset() */</span>
  27 +<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for close() */</span>
  28 +<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;errno.h&gt;</span> <span class="comment">/* for errno */</span>
  29 +<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;syslog.h&gt;</span>
  30 +<a name="l00009"></a>00009
  31 +<a name="l00010"></a>00010 <span class="preprocessor">#include "../include/monitor.h"</span>
  32 +<a name="l00011"></a>00011
  33 +<a name="l00012"></a>00012
  34 +<a name="l00013"></a>00013 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>;
  35 +<a name="l00014"></a>00014
  36 +<a name="l00015"></a><a class="code" href="socket_8c.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">00015</a> <span class="keywordtype">int</span> <a class="code" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a>(in_port_t port, <span class="keywordtype">int</span> backlog) {
  37 +<a name="l00016"></a>00016 <span class="keywordtype">int</span> sock; <span class="comment">/* socket descriptor for server */</span>
  38 +<a name="l00017"></a>00017 <span class="keyword">struct </span>sockaddr_in addr; <span class="comment">/* Local address */</span>
  39 +<a name="l00018"></a>00018
  40 +<a name="l00019"></a>00019 <span class="comment">/* Create socket for incoming connections */</span>
  41 +<a name="l00020"></a>00020 <span class="keywordflow">if</span> (-1 == (sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP))) {
  42 +<a name="l00021"></a>00021 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"server.socket"</span>,
  43 +<a name="l00022"></a>00022 <span class="stringliteral">"error opening socket: %s - service terminated"</span>,
  44 +<a name="l00023"></a>00023 strerror(errno));
  45 +<a name="l00024"></a>00024 exit(EXIT_FAILURE);
  46 +<a name="l00025"></a>00025 }
  47 +<a name="l00026"></a>00026
  48 +<a name="l00027"></a>00027 <span class="comment">/* Construct local address structure */</span>
  49 +<a name="l00028"></a>00028 memset(&amp;addr, 0, <span class="keyword">sizeof</span>(addr)); <span class="comment">/* Zero out structure */</span>
  50 +<a name="l00029"></a>00029
  51 +<a name="l00030"></a>00030 addr.sin_family = AF_INET; <span class="comment">/* Internet address family */</span>
  52 +<a name="l00031"></a>00031 addr.sin_addr.s_addr = htonl(INADDR_ANY); <span class="comment">/* Any incoming interface */</span>
  53 +<a name="l00032"></a>00032 addr.sin_port = htons(port); <span class="comment">/* Local port */</span>
  54 +<a name="l00033"></a>00033
  55 +<a name="l00034"></a>00034 <span class="comment">/* Bind to the local address */</span>
  56 +<a name="l00035"></a>00035 <span class="keywordflow">if</span> (-1 == bind(sock, (<span class="keyword">struct</span> sockaddr *) &amp;addr, <span class="keyword">sizeof</span>(addr))) {
  57 +<a name="l00036"></a>00036 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"server.bind"</span>,
  58 +<a name="l00037"></a>00037 <span class="stringliteral">"error binding socket: %s - service terminated"</span>,
  59 +<a name="l00038"></a>00038 strerror(errno));
  60 +<a name="l00039"></a>00039 exit(EXIT_FAILURE);
  61 +<a name="l00040"></a>00040 }
  62 +<a name="l00041"></a>00041
  63 +<a name="l00042"></a>00042 <span class="comment">/* Mark the socket so it will listen for incoming connections */</span>
  64 +<a name="l00043"></a>00043 <span class="keywordflow">if</span> (-1 == listen(sock, backlog)) {
  65 +<a name="l00044"></a>00044 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"server.listen"</span>,
  66 +<a name="l00045"></a>00045 <span class="stringliteral">"error binding socket: %s - service terminated"</span>,
  67 +<a name="l00046"></a>00046 strerror(errno));
  68 +<a name="l00047"></a>00047 exit(EXIT_FAILURE);
  69 +<a name="l00048"></a>00048 }
  70 +<a name="l00049"></a>00049
  71 +<a name="l00050"></a>00050 <span class="keywordflow">return</span> sock;
  72 +<a name="l00051"></a>00051 }
  73 +<a name="l00052"></a>00052
  74 +<a name="l00053"></a><a class="code" href="socket_8c.html#f09ba488c48f40f8d1f133a4441deb25">00053</a> <span class="keywordtype">int</span> <a class="code" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a>(<span class="keywordtype">int</span> servSock, <span class="keywordtype">char</span> remoteAddr[16]) {
  75 +<a name="l00054"></a>00054 <span class="keywordtype">int</span> sock; <span class="comment">/* Socket descriptor for client */</span>
  76 +<a name="l00055"></a>00055 <span class="keyword">struct </span>sockaddr_in addr; <span class="comment">/* Client address */</span>
  77 +<a name="l00056"></a>00056 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len; <span class="comment">/* Length of client address data structure */</span>
  78 +<a name="l00057"></a>00057
  79 +<a name="l00058"></a>00058 <span class="comment">/* Set the size of the in-out parameter */</span>
  80 +<a name="l00059"></a>00059 len = <span class="keyword">sizeof</span>(addr);
  81 +<a name="l00060"></a>00060
  82 +<a name="l00061"></a>00061 <span class="comment">/* Wait for a client to connect */</span>
  83 +<a name="l00062"></a>00062 <span class="keywordflow">if</span> (-1 == (sock = accept(servSock, (<span class="keyword">struct</span> sockaddr *) &amp;addr, &amp;len))) {
  84 +<a name="l00063"></a>00063 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"server.accept"</span>,
  85 +<a name="l00064"></a>00064 <span class="stringliteral">"error acception connection: %s"</span>, strerror(errno));
  86 +<a name="l00065"></a>00065 } <span class="keywordflow">else</span> {
  87 +<a name="l00066"></a>00066 strncpy (remoteAddr, inet_ntoa(addr.sin_addr), <span class="keyword">sizeof</span>(remoteAddr)-1);
  88 +<a name="l00067"></a>00067 }
  89 +<a name="l00068"></a>00068
  90 +<a name="l00069"></a>00069 <span class="comment">/* clntSock is connected to a client! */</span>
  91 +<a name="l00070"></a>00070 <span class="keywordflow">if</span> (0 != <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>) {
  92 +<a name="l00071"></a>00071 syslog(LOG_INFO, <span class="stringliteral">"handling client %s\n"</span>, inet_ntoa(addr.sin_addr));
  93 +<a name="l00072"></a>00072 }
  94 +<a name="l00073"></a>00073
  95 +<a name="l00074"></a>00074 <span class="keywordflow">return</span> sock;
  96 +<a name="l00075"></a>00075 }
  97 +</pre></div></div>
  98 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  99 +<a href="http://www.doxygen.org/index.html">
  100 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  101 +</body>
  102 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: system/socket.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>system/socket.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
  25 +<code>#include &lt;sys/socket.h&gt;</code><br>
  26 +<code>#include &lt;arpa/inet.h&gt;</code><br>
  27 +<code>#include &lt;stdlib.h&gt;</code><br>
  28 +<code>#include &lt;string.h&gt;</code><br>
  29 +<code>#include &lt;unistd.h&gt;</code><br>
  30 +<code>#include &lt;errno.h&gt;</code><br>
  31 +<code>#include &lt;syslog.h&gt;</code><br>
  32 +<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
  33 +
  34 +<p>
  35 +<a href="socket_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  36 +<tr><td></td></tr>
  37 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  38 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8c.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a> (in_port_t port, int backlog)</td></tr>
  39 +
  40 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8c.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a> (int servSock, char remoteAddr[16])</td></tr>
  41 +
  42 +<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
  43 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a></td></tr>
  44 +
  45 +</table>
  46 +<hr><h2>Function Documentation</h2>
  47 +<a class="anchor" name="f09ba488c48f40f8d1f133a4441deb25"></a><!-- doxytag: member="socket.c::acceptConnection" ref="f09ba488c48f40f8d1f133a4441deb25" args="(int servSock, char remoteAddr[16])" -->
  48 +<div class="memitem">
  49 +<div class="memproto">
  50 + <table class="memname">
  51 + <tr>
  52 + <td class="memname">int acceptConnection </td>
  53 + <td>(</td>
  54 + <td class="paramtype">int&nbsp;</td>
  55 + <td class="paramname"> <em>servSock</em>, </td>
  56 + </tr>
  57 + <tr>
  58 + <td class="paramkey"></td>
  59 + <td></td>
  60 + <td class="paramtype">char&nbsp;</td>
  61 + <td class="paramname"> <em>remoteAddr</em>[16]</td><td>&nbsp;</td>
  62 + </tr>
  63 + <tr>
  64 + <td></td>
  65 + <td>)</td>
  66 + <td></td><td></td><td></td>
  67 + </tr>
  68 + </table>
  69 +</div>
  70 +<div class="memdoc">
  71 +
  72 +<p>
  73 +
  74 +<p>Definition at line <a class="el" href="socket_8c-source.html#l00053">53</a> of file <a class="el" href="socket_8c-source.html">socket.c</a>.</p>
  75 +
  76 +</div>
  77 +</div><p>
  78 +<a class="anchor" name="44dc8ffaedb1d6f7d4663f5cecaf4e70"></a><!-- doxytag: member="socket.c::initServerSocket" ref="44dc8ffaedb1d6f7d4663f5cecaf4e70" args="(in_port_t port, int backlog)" -->
  79 +<div class="memitem">
  80 +<div class="memproto">
  81 + <table class="memname">
  82 + <tr>
  83 + <td class="memname">int initServerSocket </td>
  84 + <td>(</td>
  85 + <td class="paramtype">in_port_t&nbsp;</td>
  86 + <td class="paramname"> <em>port</em>, </td>
  87 + </tr>
  88 + <tr>
  89 + <td class="paramkey"></td>
  90 + <td></td>
  91 + <td class="paramtype">int&nbsp;</td>
  92 + <td class="paramname"> <em>backlog</em></td><td>&nbsp;</td>
  93 + </tr>
  94 + <tr>
  95 + <td></td>
  96 + <td>)</td>
  97 + <td></td><td></td><td></td>
  98 + </tr>
  99 + </table>
  100 +</div>
  101 +<div class="memdoc">
  102 +
  103 +<p>
  104 +
  105 +<p>Definition at line <a class="el" href="socket_8c-source.html#l00015">15</a> of file <a class="el" href="socket_8c-source.html">socket.c</a>.</p>
  106 +
  107 +</div>
  108 +</div><p>
  109 +<hr><h2>Variable Documentation</h2>
  110 +<a class="anchor" name="0b2caeb4b6f130be43e5a2f0267dd453"></a><!-- doxytag: member="socket.c::verbose" ref="0b2caeb4b6f130be43e5a2f0267dd453" args="" -->
  111 +<div class="memitem">
  112 +<div class="memproto">
  113 + <table class="memname">
  114 + <tr>
  115 + <td class="memname">int <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a> </td>
  116 + </tr>
  117 + </table>
  118 +</div>
  119 +<div class="memdoc">
  120 +
  121 +<p>
  122 +
  123 +</div>
  124 +</div><p>
  125 +</div>
  126 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  127 +<a href="http://www.doxygen.org/index.html">
  128 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  129 +</body>
  130 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/socket.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/socket.h</h1><a href="socket_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __SOCKET_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __SOCKET_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;arpa/inet.h&gt;</span> <span class="comment">/* for in_port_t */</span>
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="keywordtype">int</span> <a class="code" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a>(in_port_t port, <span class="keywordtype">int</span> backlog);
  28 +<a name="l00007"></a>00007 <span class="keywordtype">int</span> <a class="code" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a>(<span class="keywordtype">int</span> servSock, <span class="keywordtype">char</span> remoteAddr[16]);
  29 +<a name="l00008"></a>00008
  30 +<a name="l00009"></a>00009 <span class="preprocessor">#endif </span><span class="comment">/* __SOCKET_H__ */</span>
  31 +</pre></div></div>
  32 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  33 +<a href="http://www.doxygen.org/index.html">
  34 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  35 +</body>
  36 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/socket.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/socket.h File Reference</h1><code>#include &lt;arpa/inet.h&gt;</code><br>
  25 +
  26 +<p>
  27 +<a href="socket_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  28 +<tr><td></td></tr>
  29 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  30 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a> (in_port_t port, int backlog)</td></tr>
  31 +
  32 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a> (int servSock, char remoteAddr[16])</td></tr>
  33 +
  34 +</table>
  35 +<hr><h2>Function Documentation</h2>
  36 +<a class="anchor" name="f09ba488c48f40f8d1f133a4441deb25"></a><!-- doxytag: member="socket.h::acceptConnection" ref="f09ba488c48f40f8d1f133a4441deb25" args="(int servSock, char remoteAddr[16])" -->
  37 +<div class="memitem">
  38 +<div class="memproto">
  39 + <table class="memname">
  40 + <tr>
  41 + <td class="memname">int acceptConnection </td>
  42 + <td>(</td>
  43 + <td class="paramtype">int&nbsp;</td>
  44 + <td class="paramname"> <em>servSock</em>, </td>
  45 + </tr>
  46 + <tr>
  47 + <td class="paramkey"></td>
  48 + <td></td>
  49 + <td class="paramtype">char&nbsp;</td>
  50 + <td class="paramname"> <em>remoteAddr</em>[16]</td><td>&nbsp;</td>
  51 + </tr>
  52 + <tr>
  53 + <td></td>
  54 + <td>)</td>
  55 + <td></td><td></td><td></td>
  56 + </tr>
  57 + </table>
  58 +</div>
  59 +<div class="memdoc">
  60 +
  61 +<p>
  62 +
  63 +<p>Definition at line <a class="el" href="socket_8c-source.html#l00053">53</a> of file <a class="el" href="socket_8c-source.html">socket.c</a>.</p>
  64 +
  65 +</div>
  66 +</div><p>
  67 +<a class="anchor" name="44dc8ffaedb1d6f7d4663f5cecaf4e70"></a><!-- doxytag: member="socket.h::initServerSocket" ref="44dc8ffaedb1d6f7d4663f5cecaf4e70" args="(in_port_t port, int backlog)" -->
  68 +<div class="memitem">
  69 +<div class="memproto">
  70 + <table class="memname">
  71 + <tr>
  72 + <td class="memname">int initServerSocket </td>
  73 + <td>(</td>
  74 + <td class="paramtype">in_port_t&nbsp;</td>
  75 + <td class="paramname"> <em>port</em>, </td>
  76 + </tr>
  77 + <tr>
  78 + <td class="paramkey"></td>
  79 + <td></td>
  80 + <td class="paramtype">int&nbsp;</td>
  81 + <td class="paramname"> <em>backlog</em></td><td>&nbsp;</td>
  82 + </tr>
  83 + <tr>
  84 + <td></td>
  85 + <td>)</td>
  86 + <td></td><td></td><td></td>
  87 + </tr>
  88 + </table>
  89 +</div>
  90 +<div class="memdoc">
  91 +
  92 +<p>
  93 +
  94 +<p>Definition at line <a class="el" href="socket_8c-source.html#l00015">15</a> of file <a class="el" href="socket_8c-source.html">socket.c</a>.</p>
  95 +
  96 +</div>
  97 +</div><p>
  98 +</div>
  99 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  100 +<a href="http://www.doxygen.org/index.html">
  101 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  102 +</body>
  103 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: tAppConfig Struct Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>tAppConfig Struct Reference</h1><!-- doxytag: class="tAppConfig" --><code>#include &lt;<a class="el" href="appConfig_8h-source.html">appConfig.h</a>&gt;</code>
  25 +<p>
  26 +<table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">verbose</a></td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">doDaemon</a></td></tr>
  32 +
  33 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">maxPending</a></td></tr>
  34 +
  35 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">port</a></td></tr>
  36 +
  37 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">logPath</a> [513]</td></tr>
  38 +
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">namePat</a> [513]</td></tr>
  40 +
  41 +</table>
  42 +<hr><a name="_details"></a><h2>Detailed Description</h2>
  43 +
  44 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00017">17</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  45 +<hr><h2>Field Documentation</h2>
  46 +<a class="anchor" name="d5d5f9bd2f4f0dd2cd259e50c4d149bf"></a><!-- doxytag: member="tAppConfig::doDaemon" ref="d5d5f9bd2f4f0dd2cd259e50c4d149bf" args="" -->
  47 +<div class="memitem">
  48 +<div class="memproto">
  49 + <table class="memname">
  50 + <tr>
  51 + <td class="memname">unsigned char <a class="el" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">tAppConfig::doDaemon</a> </td>
  52 + </tr>
  53 + </table>
  54 +</div>
  55 +<div class="memdoc">
  56 +
  57 +<p>
  58 +
  59 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00019">19</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  60 +
  61 +</div>
  62 +</div><p>
  63 +<a class="anchor" name="1b87fb5e17055c70a233387374d8342e"></a><!-- doxytag: member="tAppConfig::logPath" ref="1b87fb5e17055c70a233387374d8342e" args="[513]" -->
  64 +<div class="memitem">
  65 +<div class="memproto">
  66 + <table class="memname">
  67 + <tr>
  68 + <td class="memname">char <a class="el" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">tAppConfig::logPath</a>[513] </td>
  69 + </tr>
  70 + </table>
  71 +</div>
  72 +<div class="memdoc">
  73 +
  74 +<p>
  75 +
  76 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00022">22</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  77 +
  78 +</div>
  79 +</div><p>
  80 +<a class="anchor" name="1bef5de806f77de1c307062e9fa84e4f"></a><!-- doxytag: member="tAppConfig::maxPending" ref="1bef5de806f77de1c307062e9fa84e4f" args="" -->
  81 +<div class="memitem">
  82 +<div class="memproto">
  83 + <table class="memname">
  84 + <tr>
  85 + <td class="memname">unsigned int <a class="el" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">tAppConfig::maxPending</a> </td>
  86 + </tr>
  87 + </table>
  88 +</div>
  89 +<div class="memdoc">
  90 +
  91 +<p>
  92 +
  93 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00020">20</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  94 +
  95 +</div>
  96 +</div><p>
  97 +<a class="anchor" name="58b889074da91d9de3ef14aa34f97795"></a><!-- doxytag: member="tAppConfig::namePat" ref="58b889074da91d9de3ef14aa34f97795" args="[513]" -->
  98 +<div class="memitem">
  99 +<div class="memproto">
  100 + <table class="memname">
  101 + <tr>
  102 + <td class="memname">char <a class="el" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">tAppConfig::namePat</a>[513] </td>
  103 + </tr>
  104 + </table>
  105 +</div>
  106 +<div class="memdoc">
  107 +
  108 +<p>
  109 +
  110 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00023">23</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  111 +
  112 +</div>
  113 +</div><p>
  114 +<a class="anchor" name="3e4960a8eb8e1eac506bd651453faecc"></a><!-- doxytag: member="tAppConfig::port" ref="3e4960a8eb8e1eac506bd651453faecc" args="" -->
  115 +<div class="memitem">
  116 +<div class="memproto">
  117 + <table class="memname">
  118 + <tr>
  119 + <td class="memname">unsigned int <a class="el" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">tAppConfig::port</a> </td>
  120 + </tr>
  121 + </table>
  122 +</div>
  123 +<div class="memdoc">
  124 +
  125 +<p>
  126 +
  127 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00021">21</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  128 +
  129 +</div>
  130 +</div><p>
  131 +<a class="anchor" name="9a20fbb501c68675f88764f1dcb42684"></a><!-- doxytag: member="tAppConfig::verbose" ref="9a20fbb501c68675f88764f1dcb42684" args="" -->
  132 +<div class="memitem">
  133 +<div class="memproto">
  134 + <table class="memname">
  135 + <tr>
  136 + <td class="memname">unsigned char <a class="el" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">tAppConfig::verbose</a> </td>
  137 + </tr>
  138 + </table>
  139 +</div>
  140 +<div class="memdoc">
  141 +
  142 +<p>
  143 +
  144 +<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00018">18</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
  145 +
  146 +</div>
  147 +</div><p>
  148 +<hr>The documentation for this struct was generated from the following file:<ul>
  149 +<li>include/<a class="el" href="appConfig_8h-source.html">appConfig.h</a></ul>
  150 +</div>
  151 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  152 +<a href="http://www.doxygen.org/index.html">
  153 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  154 +</body>
  155 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: tClient Struct Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>tClient Struct Reference</h1><!-- doxytag: class="tClient" --><code>#include &lt;<a class="el" href="client_8h-source.html">client.h</a>&gt;</code>
  25 +<p>
  26 +<table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a></td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a></td></tr>
  32 +
  33 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a></td></tr>
  34 +
  35 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a></td></tr>
  36 +
  37 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">writePos</a></td></tr>
  38 +
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a></td></tr>
  40 +
  41 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a> [16]</td></tr>
  42 +
  43 +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtHttpHeader.html">tHttpHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a></td></tr>
  44 +
  45 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a></td></tr>
  46 +
  47 +<tr><td class="memItemLeft" nowrap align="right" valign="top">XML_Parser&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a></td></tr>
  48 +
  49 +</table>
  50 +<hr><a name="_details"></a><h2>Detailed Description</h2>
  51 +
  52 +<p>Definition at line <a class="el" href="client_8h-source.html#l00018">18</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  53 +<hr><h2>Field Documentation</h2>
  54 +<a class="anchor" name="00e4a47041701700d5d9e418773b01a1"></a><!-- doxytag: member="tClient::bodyLenRemaining" ref="00e4a47041701700d5d9e418773b01a1" args="" -->
  55 +<div class="memitem">
  56 +<div class="memproto">
  57 + <table class="memname">
  58 + <tr>
  59 + <td class="memname">unsigned int <a class="el" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">tClient::bodyLenRemaining</a> </td>
  60 + </tr>
  61 + </table>
  62 +</div>
  63 +<div class="memdoc">
  64 +
  65 +<p>
  66 +
  67 +<p>Definition at line <a class="el" href="client_8h-source.html#l00028">28</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  68 +
  69 +</div>
  70 +</div><p>
  71 +<a class="anchor" name="33623f89815acd8a2822a1f04cafe844"></a><!-- doxytag: member="tClient::httpHeader" ref="33623f89815acd8a2822a1f04cafe844" args="" -->
  72 +<div class="memitem">
  73 +<div class="memproto">
  74 + <table class="memname">
  75 + <tr>
  76 + <td class="memname"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> <a class="el" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">tClient::httpHeader</a> </td>
  77 + </tr>
  78 + </table>
  79 +</div>
  80 +<div class="memdoc">
  81 +
  82 +<p>
  83 +
  84 +<p>Definition at line <a class="el" href="client_8h-source.html#l00027">27</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  85 +
  86 +</div>
  87 +</div><p>
  88 +<a class="anchor" name="b8f8ab3f31d6cf8fd4b3b527ef9c0107"></a><!-- doxytag: member="tClient::parser" ref="b8f8ab3f31d6cf8fd4b3b527ef9c0107" args="" -->
  89 +<div class="memitem">
  90 +<div class="memproto">
  91 + <table class="memname">
  92 + <tr>
  93 + <td class="memname">XML_Parser <a class="el" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">tClient::parser</a> </td>
  94 + </tr>
  95 + </table>
  96 +</div>
  97 +<div class="memdoc">
  98 +
  99 +<p>
  100 +
  101 +<p>Definition at line <a class="el" href="client_8h-source.html#l00030">30</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  102 +
  103 +</div>
  104 +</div><p>
  105 +<a class="anchor" name="70a954f8e1e6df925d78b34b9f2f162a"></a><!-- doxytag: member="tClient::readBuffer" ref="70a954f8e1e6df925d78b34b9f2f162a" args="" -->
  106 +<div class="memitem">
  107 +<div class="memproto">
  108 + <table class="memname">
  109 + <tr>
  110 + <td class="memname">char* <a class="el" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">tClient::readBuffer</a> </td>
  111 + </tr>
  112 + </table>
  113 +</div>
  114 +<div class="memdoc">
  115 +
  116 +<p>
  117 +
  118 +<p>Definition at line <a class="el" href="client_8h-source.html#l00020">20</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  119 +
  120 +</div>
  121 +</div><p>
  122 +<a class="anchor" name="c55c66265d03aec3d760a0ed54b08a1f"></a><!-- doxytag: member="tClient::readBufMult" ref="c55c66265d03aec3d760a0ed54b08a1f" args="" -->
  123 +<div class="memitem">
  124 +<div class="memproto">
  125 + <table class="memname">
  126 + <tr>
  127 + <td class="memname">unsigned int <a class="el" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">tClient::readBufMult</a> </td>
  128 + </tr>
  129 + </table>
  130 +</div>
  131 +<div class="memdoc">
  132 +
  133 +<p>
  134 +
  135 +<p>Definition at line <a class="el" href="client_8h-source.html#l00024">24</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  136 +
  137 +</div>
  138 +</div><p>
  139 +<a class="anchor" name="0948ef13430298f28cb48199119136c1"></a><!-- doxytag: member="tClient::readPos" ref="0948ef13430298f28cb48199119136c1" args="" -->
  140 +<div class="memitem">
  141 +<div class="memproto">
  142 + <table class="memname">
  143 + <tr>
  144 + <td class="memname">unsigned int <a class="el" href="structtClient.html#0948ef13430298f28cb48199119136c1">tClient::readPos</a> </td>
  145 + </tr>
  146 + </table>
  147 +</div>
  148 +<div class="memdoc">
  149 +
  150 +<p>
  151 +
  152 +<p>Definition at line <a class="el" href="client_8h-source.html#l00022">22</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  153 +
  154 +</div>
  155 +</div><p>
  156 +<a class="anchor" name="e23a04145b9c0cc1262721432a43c947"></a><!-- doxytag: member="tClient::remoteAddr" ref="e23a04145b9c0cc1262721432a43c947" args="[16]" -->
  157 +<div class="memitem">
  158 +<div class="memproto">
  159 + <table class="memname">
  160 + <tr>
  161 + <td class="memname">char <a class="el" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">tClient::remoteAddr</a>[16] </td>
  162 + </tr>
  163 + </table>
  164 +</div>
  165 +<div class="memdoc">
  166 +
  167 +<p>
  168 +
  169 +<p>Definition at line <a class="el" href="client_8h-source.html#l00025">25</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  170 +
  171 +</div>
  172 +</div><p>
  173 +<a class="anchor" name="fdcb6fae6d4162315adc430dc34e3df0"></a><!-- doxytag: member="tClient::socket" ref="fdcb6fae6d4162315adc430dc34e3df0" args="" -->
  174 +<div class="memitem">
  175 +<div class="memproto">
  176 + <table class="memname">
  177 + <tr>
  178 + <td class="memname">int <a class="el" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">tClient::socket</a> </td>
  179 + </tr>
  180 + </table>
  181 +</div>
  182 +<div class="memdoc">
  183 +
  184 +<p>
  185 +
  186 +<p>Definition at line <a class="el" href="client_8h-source.html#l00019">19</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  187 +
  188 +</div>
  189 +</div><p>
  190 +<a class="anchor" name="99d73b0cba75199cb16952751fdcc52d"></a><!-- doxytag: member="tClient::writeBuffer" ref="99d73b0cba75199cb16952751fdcc52d" args="" -->
  191 +<div class="memitem">
  192 +<div class="memproto">
  193 + <table class="memname">
  194 + <tr>
  195 + <td class="memname">char* <a class="el" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">tClient::writeBuffer</a> </td>
  196 + </tr>
  197 + </table>
  198 +</div>
  199 +<div class="memdoc">
  200 +
  201 +<p>
  202 +
  203 +<p>Definition at line <a class="el" href="client_8h-source.html#l00021">21</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  204 +
  205 +</div>
  206 +</div><p>
  207 +<a class="anchor" name="97da33ce83548b5900f11e29d5cec8d1"></a><!-- doxytag: member="tClient::writePos" ref="97da33ce83548b5900f11e29d5cec8d1" args="" -->
  208 +<div class="memitem">
  209 +<div class="memproto">
  210 + <table class="memname">
  211 + <tr>
  212 + <td class="memname">unsigned int <a class="el" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">tClient::writePos</a> </td>
  213 + </tr>
  214 + </table>
  215 +</div>
  216 +<div class="memdoc">
  217 +
  218 +<p>
  219 +
  220 +<p>Definition at line <a class="el" href="client_8h-source.html#l00023">23</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
  221 +
  222 +</div>
  223 +</div><p>
  224 +<hr>The documentation for this struct was generated from the following file:<ul>
  225 +<li>include/<a class="el" href="client_8h-source.html">client.h</a></ul>
  226 +</div>
  227 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  228 +<a href="http://www.doxygen.org/index.html">
  229 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  230 +</body>
  231 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: tHttpHeader Struct Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>tHttpHeader Struct Reference</h1><!-- doxytag: class="tHttpHeader" --><code>#include &lt;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&gt;</code>
  25 +<p>
  26 +<table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtRequestLine.html">tRequestLine</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a></td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtHttpHeaderLine.html">tHttpHeaderLine</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a></td></tr>
  32 +
  33 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">headersCount</a></td></tr>
  34 +
  35 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">bodyLength</a></td></tr>
  36 +
  37 +</table>
  38 +<hr><a name="_details"></a><h2>Detailed Description</h2>
  39 +
  40 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00027">27</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  41 +<hr><h2>Field Documentation</h2>
  42 +<a class="anchor" name="4c362cb9ed28c3c0ee28371cb28c2460"></a><!-- doxytag: member="tHttpHeader::bodyLength" ref="4c362cb9ed28c3c0ee28371cb28c2460" args="" -->
  43 +<div class="memitem">
  44 +<div class="memproto">
  45 + <table class="memname">
  46 + <tr>
  47 + <td class="memname">unsigned char <a class="el" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">tHttpHeader::bodyLength</a> </td>
  48 + </tr>
  49 + </table>
  50 +</div>
  51 +<div class="memdoc">
  52 +
  53 +<p>
  54 +
  55 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00032">32</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  56 +
  57 +</div>
  58 +</div><p>
  59 +<a class="anchor" name="e44e0aa6e7494921acad1a07eaaecb3d"></a><!-- doxytag: member="tHttpHeader::headers" ref="e44e0aa6e7494921acad1a07eaaecb3d" args="" -->
  60 +<div class="memitem">
  61 +<div class="memproto">
  62 + <table class="memname">
  63 + <tr>
  64 + <td class="memname"><a class="el" href="structtHttpHeaderLine.html">tHttpHeaderLine</a>* <a class="el" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">tHttpHeader::headers</a> </td>
  65 + </tr>
  66 + </table>
  67 +</div>
  68 +<div class="memdoc">
  69 +
  70 +<p>
  71 +
  72 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00029">29</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  73 +
  74 +</div>
  75 +</div><p>
  76 +<a class="anchor" name="40e3a997c2da1c432caef805ff150e42"></a><!-- doxytag: member="tHttpHeader::headersCount" ref="40e3a997c2da1c432caef805ff150e42" args="" -->
  77 +<div class="memitem">
  78 +<div class="memproto">
  79 + <table class="memname">
  80 + <tr>
  81 + <td class="memname">unsigned int <a class="el" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">tHttpHeader::headersCount</a> </td>
  82 + </tr>
  83 + </table>
  84 +</div>
  85 +<div class="memdoc">
  86 +
  87 +<p>
  88 +
  89 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00030">30</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  90 +
  91 +</div>
  92 +</div><p>
  93 +<a class="anchor" name="d624a9ea5e703b2e8cd812415e28dfc7"></a><!-- doxytag: member="tHttpHeader::req" ref="d624a9ea5e703b2e8cd812415e28dfc7" args="" -->
  94 +<div class="memitem">
  95 +<div class="memproto">
  96 + <table class="memname">
  97 + <tr>
  98 + <td class="memname"><a class="el" href="structtRequestLine.html">tRequestLine</a> <a class="el" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">tHttpHeader::req</a> </td>
  99 + </tr>
  100 + </table>
  101 +</div>
  102 +<div class="memdoc">
  103 +
  104 +<p>
  105 +
  106 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00028">28</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  107 +
  108 +</div>
  109 +</div><p>
  110 +<hr>The documentation for this struct was generated from the following file:<ul>
  111 +<li>include/<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a></ul>
  112 +</div>
  113 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  114 +<a href="http://www.doxygen.org/index.html">
  115 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  116 +</body>
  117 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: tHttpHeaderLine Struct Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>tHttpHeaderLine Struct Reference</h1><!-- doxytag: class="tHttpHeaderLine" --><code>#include &lt;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&gt;</code>
  25 +<p>
  26 +<table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a></td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a></td></tr>
  32 +
  33 +</table>
  34 +<hr><a name="_details"></a><h2>Detailed Description</h2>
  35 +
  36 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00022">22</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  37 +<hr><h2>Field Documentation</h2>
  38 +<a class="anchor" name="0b7fdfe2d665663b34ab17f843bdd362"></a><!-- doxytag: member="tHttpHeaderLine::key" ref="0b7fdfe2d665663b34ab17f843bdd362" args="" -->
  39 +<div class="memitem">
  40 +<div class="memproto">
  41 + <table class="memname">
  42 + <tr>
  43 + <td class="memname">char* <a class="el" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">tHttpHeaderLine::key</a> </td>
  44 + </tr>
  45 + </table>
  46 +</div>
  47 +<div class="memdoc">
  48 +
  49 +<p>
  50 +
  51 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00023">23</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  52 +
  53 +</div>
  54 +</div><p>
  55 +<a class="anchor" name="20a63b6ab6476fd27b5ec5438150dba9"></a><!-- doxytag: member="tHttpHeaderLine::value" ref="20a63b6ab6476fd27b5ec5438150dba9" args="" -->
  56 +<div class="memitem">
  57 +<div class="memproto">
  58 + <table class="memname">
  59 + <tr>
  60 + <td class="memname">char* <a class="el" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">tHttpHeaderLine::value</a> </td>
  61 + </tr>
  62 + </table>
  63 +</div>
  64 +<div class="memdoc">
  65 +
  66 +<p>
  67 +
  68 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00024">24</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  69 +
  70 +</div>
  71 +</div><p>
  72 +<hr>The documentation for this struct was generated from the following file:<ul>
  73 +<li>include/<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a></ul>
  74 +</div>
  75 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  76 +<a href="http://www.doxygen.org/index.html">
  77 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  78 +</body>
  79 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: tHttpRequest Struct Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>tHttpRequest Struct Reference</h1><!-- doxytag: class="tHttpRequest" --><code>#include &lt;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&gt;</code>
  25 +<p>
  26 +<table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtHttpHeader.html">tHttpHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a></td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">length</a></td></tr>
  32 +
  33 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a></td></tr>
  34 +
  35 +</table>
  36 +<hr><a name="_details"></a><h2>Detailed Description</h2>
  37 +
  38 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00035">35</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  39 +<hr><h2>Field Documentation</h2>
  40 +<a class="anchor" name="3bafedaca9066375ffc720da29235ae2"></a><!-- doxytag: member="tHttpRequest::body" ref="3bafedaca9066375ffc720da29235ae2" args="" -->
  41 +<div class="memitem">
  42 +<div class="memproto">
  43 + <table class="memname">
  44 + <tr>
  45 + <td class="memname">char* <a class="el" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">tHttpRequest::body</a> </td>
  46 + </tr>
  47 + </table>
  48 +</div>
  49 +<div class="memdoc">
  50 +
  51 +<p>
  52 +
  53 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00038">38</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  54 +
  55 +</div>
  56 +</div><p>
  57 +<a class="anchor" name="9936369fb110812f1a4b7fc31a0dc755"></a><!-- doxytag: member="tHttpRequest::header" ref="9936369fb110812f1a4b7fc31a0dc755" args="" -->
  58 +<div class="memitem">
  59 +<div class="memproto">
  60 + <table class="memname">
  61 + <tr>
  62 + <td class="memname"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> <a class="el" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">tHttpRequest::header</a> </td>
  63 + </tr>
  64 + </table>
  65 +</div>
  66 +<div class="memdoc">
  67 +
  68 +<p>
  69 +
  70 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00036">36</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  71 +
  72 +</div>
  73 +</div><p>
  74 +<a class="anchor" name="208d984f6996b3b75579b9d7f9583231"></a><!-- doxytag: member="tHttpRequest::length" ref="208d984f6996b3b75579b9d7f9583231" args="" -->
  75 +<div class="memitem">
  76 +<div class="memproto">
  77 + <table class="memname">
  78 + <tr>
  79 + <td class="memname">unsigned int <a class="el" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">tHttpRequest::length</a> </td>
  80 + </tr>
  81 + </table>
  82 +</div>
  83 +<div class="memdoc">
  84 +
  85 +<p>
  86 +
  87 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00037">37</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  88 +
  89 +</div>
  90 +</div><p>
  91 +<hr>The documentation for this struct was generated from the following file:<ul>
  92 +<li>include/<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a></ul>
  93 +</div>
  94 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  95 +<a href="http://www.doxygen.org/index.html">
  96 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  97 +</body>
  98 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: tRequestLine Struct Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>tRequestLine Struct Reference</h1><!-- doxytag: class="tRequestLine" --><code>#include &lt;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&gt;</code>
  25 +<p>
  26 +<table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a></td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a></td></tr>
  32 +
  33 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a></td></tr>
  34 +
  35 +</table>
  36 +<hr><a name="_details"></a><h2>Detailed Description</h2>
  37 +
  38 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00016">16</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  39 +<hr><h2>Field Documentation</h2>
  40 +<a class="anchor" name="9e9dad5c7e7851b4a5e5b8ab8837a72b"></a><!-- doxytag: member="tRequestLine::httpVersion" ref="9e9dad5c7e7851b4a5e5b8ab8837a72b" args="" -->
  41 +<div class="memitem">
  42 +<div class="memproto">
  43 + <table class="memname">
  44 + <tr>
  45 + <td class="memname">char* <a class="el" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">tRequestLine::httpVersion</a> </td>
  46 + </tr>
  47 + </table>
  48 +</div>
  49 +<div class="memdoc">
  50 +
  51 +<p>
  52 +
  53 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00019">19</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  54 +
  55 +</div>
  56 +</div><p>
  57 +<a class="anchor" name="418658e78fa3e0e0e5fbd8f693104558"></a><!-- doxytag: member="tRequestLine::method" ref="418658e78fa3e0e0e5fbd8f693104558" args="" -->
  58 +<div class="memitem">
  59 +<div class="memproto">
  60 + <table class="memname">
  61 + <tr>
  62 + <td class="memname">char* <a class="el" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">tRequestLine::method</a> </td>
  63 + </tr>
  64 + </table>
  65 +</div>
  66 +<div class="memdoc">
  67 +
  68 +<p>
  69 +
  70 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00017">17</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  71 +
  72 +</div>
  73 +</div><p>
  74 +<a class="anchor" name="5748787454dc1cc0dc06240e2890e025"></a><!-- doxytag: member="tRequestLine::requestUri" ref="5748787454dc1cc0dc06240e2890e025" args="" -->
  75 +<div class="memitem">
  76 +<div class="memproto">
  77 + <table class="memname">
  78 + <tr>
  79 + <td class="memname">char* <a class="el" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">tRequestLine::requestUri</a> </td>
  80 + </tr>
  81 + </table>
  82 +</div>
  83 +<div class="memdoc">
  84 +
  85 +<p>
  86 +
  87 +<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00018">18</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
  88 +
  89 +</div>
  90 +</div><p>
  91 +<hr>The documentation for this struct was generated from the following file:<ul>
  92 +<li>include/<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a></ul>
  93 +</div>
  94 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  95 +<a href="http://www.doxygen.org/index.html">
  96 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  97 +</body>
  98 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: tServer Struct Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  19 + <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>tServer Struct Reference</h1><!-- doxytag: class="tServer" --><code>#include &lt;<a class="el" href="server_8h-source.html">server.h</a>&gt;</code>
  25 +<p>
  26 +<table border="0" cellpadding="0" cellspacing="0">
  27 +<tr><td></td></tr>
  28 +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
  29 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a></td></tr>
  30 +
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtClient.html">tClient</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a> [FD_SETSIZE]</td></tr>
  32 +
  33 +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a></td></tr>
  34 +
  35 +<tr><td class="memItemLeft" nowrap align="right" valign="top">fd_set&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a></td></tr>
  36 +
  37 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#17180f100090e101569a3a95934c38aa">logPath</a> [512]</td></tr>
  38 +
  39 +<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">namePat</a> [512]</td></tr>
  40 +
  41 +<tr><td class="memItemLeft" nowrap align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a></td></tr>
  42 +
  43 +</table>
  44 +<hr><a name="_details"></a><h2>Detailed Description</h2>
  45 +
  46 +<p>Definition at line <a class="el" href="server_8h-source.html#l00009">9</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
  47 +<hr><h2>Field Documentation</h2>
  48 +<a class="anchor" name="1c13c660dcf97444bdeee1f52bace303"></a><!-- doxytag: member="tServer::clients" ref="1c13c660dcf97444bdeee1f52bace303" args="[FD_SETSIZE]" -->
  49 +<div class="memitem">
  50 +<div class="memproto">
  51 + <table class="memname">
  52 + <tr>
  53 + <td class="memname"><a class="el" href="structtClient.html">tClient</a> <a class="el" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">tServer::clients</a>[FD_SETSIZE] </td>
  54 + </tr>
  55 + </table>
  56 +</div>
  57 +<div class="memdoc">
  58 +
  59 +<p>
  60 +
  61 +<p>Definition at line <a class="el" href="server_8h-source.html#l00011">11</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
  62 +
  63 +</div>
  64 +</div><p>
  65 +<a class="anchor" name="17180f100090e101569a3a95934c38aa"></a><!-- doxytag: member="tServer::logPath" ref="17180f100090e101569a3a95934c38aa" args="[512]" -->
  66 +<div class="memitem">
  67 +<div class="memproto">
  68 + <table class="memname">
  69 + <tr>
  70 + <td class="memname">char <a class="el" href="structtServer.html#17180f100090e101569a3a95934c38aa">tServer::logPath</a>[512] </td>
  71 + </tr>
  72 + </table>
  73 +</div>
  74 +<div class="memdoc">
  75 +
  76 +<p>
  77 +
  78 +<p>Definition at line <a class="el" href="server_8h-source.html#l00014">14</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
  79 +
  80 +</div>
  81 +</div><p>
  82 +<a class="anchor" name="145a672dfaec08ce54c02dbc9f3b11ae"></a><!-- doxytag: member="tServer::maxFd" ref="145a672dfaec08ce54c02dbc9f3b11ae" args="" -->
  83 +<div class="memitem">
  84 +<div class="memproto">
  85 + <table class="memname">
  86 + <tr>
  87 + <td class="memname">unsigned int <a class="el" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">tServer::maxFd</a> </td>
  88 + </tr>
  89 + </table>
  90 +</div>
  91 +<div class="memdoc">
  92 +
  93 +<p>
  94 +
  95 +<p>Definition at line <a class="el" href="server_8h-source.html#l00012">12</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
  96 +
  97 +</div>
  98 +</div><p>
  99 +<a class="anchor" name="c932a28b0613bb0276c1ceb6b3fee454"></a><!-- doxytag: member="tServer::namePat" ref="c932a28b0613bb0276c1ceb6b3fee454" args="[512]" -->
  100 +<div class="memitem">
  101 +<div class="memproto">
  102 + <table class="memname">
  103 + <tr>
  104 + <td class="memname">char <a class="el" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">tServer::namePat</a>[512] </td>
  105 + </tr>
  106 + </table>
  107 +</div>
  108 +<div class="memdoc">
  109 +
  110 +<p>
  111 +
  112 +<p>Definition at line <a class="el" href="server_8h-source.html#l00015">15</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
  113 +
  114 +</div>
  115 +</div><p>
  116 +<a class="anchor" name="0f35110b14ced93ae0c47173e37d707d"></a><!-- doxytag: member="tServer::servSock" ref="0f35110b14ced93ae0c47173e37d707d" args="" -->
  117 +<div class="memitem">
  118 +<div class="memproto">
  119 + <table class="memname">
  120 + <tr>
  121 + <td class="memname">int <a class="el" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">tServer::servSock</a> </td>
  122 + </tr>
  123 + </table>
  124 +</div>
  125 +<div class="memdoc">
  126 +
  127 +<p>
  128 +
  129 +<p>Definition at line <a class="el" href="server_8h-source.html#l00010">10</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
  130 +
  131 +</div>
  132 +</div><p>
  133 +<a class="anchor" name="f1e1c8e11bd347994ebc641bcac4c0fb"></a><!-- doxytag: member="tServer::socks" ref="f1e1c8e11bd347994ebc641bcac4c0fb" args="" -->
  134 +<div class="memitem">
  135 +<div class="memproto">
  136 + <table class="memname">
  137 + <tr>
  138 + <td class="memname">fd_set <a class="el" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">tServer::socks</a> </td>
  139 + </tr>
  140 + </table>
  141 +</div>
  142 +<div class="memdoc">
  143 +
  144 +<p>
  145 +
  146 +<p>Definition at line <a class="el" href="server_8h-source.html#l00013">13</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
  147 +
  148 +</div>
  149 +</div><p>
  150 +<a class="anchor" name="8fc3e5e54d17d86d21874d5987a080af"></a><!-- doxytag: member="tServer::wHandle" ref="8fc3e5e54d17d86d21874d5987a080af" args="" -->
  151 +<div class="memitem">
  152 +<div class="memproto">
  153 + <table class="memname">
  154 + <tr>
  155 + <td class="memname">FILE* <a class="el" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">tServer::wHandle</a> </td>
  156 + </tr>
  157 + </table>
  158 +</div>
  159 +<div class="memdoc">
  160 +
  161 +<p>
  162 +
  163 +<p>Definition at line <a class="el" href="server_8h-source.html#l00016">16</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
  164 +
  165 +</div>
  166 +</div><p>
  167 +<hr>The documentation for this struct was generated from the following file:<ul>
  168 +<li>include/<a class="el" href="server_8h-source.html">server.h</a></ul>
  169 +</div>
  170 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
  171 +<a href="http://www.doxygen.org/index.html">
  172 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  173 +</body>
  174 +</html>
... ...
  1 +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
  2 +
  3 +DIV.tabs
  4 +{
  5 + float : left;
  6 + width : 100%;
  7 + background : url("tab_b.gif") repeat-x bottom;
  8 + margin-bottom : 4px;
  9 +}
  10 +
  11 +DIV.tabs UL
  12 +{
  13 + margin : 0px;
  14 + padding-left : 10px;
  15 + list-style : none;
  16 +}
  17 +
  18 +DIV.tabs LI, DIV.tabs FORM
  19 +{
  20 + display : inline;
  21 + margin : 0px;
  22 + padding : 0px;
  23 +}
  24 +
  25 +DIV.tabs FORM
  26 +{
  27 + float : right;
  28 +}
  29 +
  30 +DIV.tabs A
  31 +{
  32 + float : left;
  33 + background : url("tab_r.gif") no-repeat right top;
  34 + border-bottom : 1px solid #84B0C7;
  35 + font-size : 80%;
  36 + font-weight : bold;
  37 + text-decoration : none;
  38 +}
  39 +
  40 +DIV.tabs A:hover
  41 +{
  42 + background-position: 100% -150px;
  43 +}
  44 +
  45 +DIV.tabs A:link, DIV.tabs A:visited,
  46 +DIV.tabs A:active, DIV.tabs A:hover
  47 +{
  48 + color: #1A419D;
  49 +}
  50 +
  51 +DIV.tabs SPAN
  52 +{
  53 + float : left;
  54 + display : block;
  55 + background : url("tab_l.gif") no-repeat left top;
  56 + padding : 5px 9px;
  57 + white-space : nowrap;
  58 +}
  59 +
  60 +DIV.tabs INPUT
  61 +{
  62 + float : right;
  63 + display : inline;
  64 + font-size : 1em;
  65 +}
  66 +
  67 +DIV.tabs TD
  68 +{
  69 + font-size : 80%;
  70 + font-weight : bold;
  71 + text-decoration : none;
  72 +}
  73 +
  74 +
  75 +
  76 +/* Commented Backslash Hack hides rule from IE5-Mac \*/
  77 +DIV.tabs SPAN {float : none;}
  78 +/* End IE5-Mac hack */
  79 +
  80 +DIV.tabs A:hover SPAN
  81 +{
  82 + background-position: 0% -150px;
  83 +}
  84 +
  85 +DIV.tabs LI.current A
  86 +{
  87 + background-position: 100% -150px;
  88 + border-width : 0px;
  89 +}
  90 +
  91 +DIV.tabs LI.current SPAN
  92 +{
  93 + background-position: 0% -150px;
  94 + padding-bottom : 6px;
  95 +}
  96 +
  97 +DIV.navpath
  98 +{
  99 + background : none;
  100 + border : none;
  101 + border-bottom : 1px solid #84B0C7;
  102 + text-align : center;
  103 + margin : 2px;
  104 + padding : 2px;
  105 +}
... ...
  1 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  2 + <head>
  3 + <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8" />
  4 + <meta http-equiv="Content-Style-Type" content="text/css" />
  5 + <meta http-equiv="Content-Language" content="en" />
  6 + <link rel="stylesheet" href="doxygen.css">
  7 + <title>TreeView</title>
  8 + <script type="text/javascript">
  9 + <!-- // Hide script from old browsers
  10 +
  11 + function toggleFolder(id, imageNode)
  12 + {
  13 + var folder = document.getElementById(id);
  14 + var l = imageNode.src.length;
  15 + if (imageNode.src.substring(l-20,l)=="ftv2folderclosed.png" ||
  16 + imageNode.src.substring(l-18,l)=="ftv2folderopen.png")
  17 + {
  18 + imageNode = imageNode.previousSibling;
  19 + l = imageNode.src.length;
  20 + }
  21 + if (folder == null)
  22 + {
  23 + }
  24 + else if (folder.style.display == "block")
  25 + {
  26 + if (imageNode != null)
  27 + {
  28 + imageNode.nextSibling.src = "ftv2folderclosed.png";
  29 + if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
  30 + {
  31 + imageNode.src = "ftv2pnode.png";
  32 + }
  33 + else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
  34 + {
  35 + imageNode.src = "ftv2plastnode.png";
  36 + }
  37 + }
  38 + folder.style.display = "none";
  39 + }
  40 + else
  41 + {
  42 + if (imageNode != null)
  43 + {
  44 + imageNode.nextSibling.src = "ftv2folderopen.png";
  45 + if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
  46 + {
  47 + imageNode.src = "ftv2mnode.png";
  48 + }
  49 + else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
  50 + {
  51 + imageNode.src = "ftv2mlastnode.png";
  52 + }
  53 + }
  54 + folder.style.display = "block";
  55 + }
  56 + }
  57 +
  58 + // End script hiding -->
  59 + </script>
  60 + </head>
  61 +
  62 + <body class="ftvtree">
  63 + <div class="directory">
  64 + <h3 class="swap"><span>xmlrpc</span></h3>
  65 + <div style="display: block;">
  66 + <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder1', this)"/><a class="el" href="annotated.html" target="basefrm">Data Structures</a></p>
  67 + <div id="folder1">
  68 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtAppConfig.html" target="basefrm">tAppConfig</a></p>
  69 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtClient.html" target="basefrm">tClient</a></p>
  70 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtHttpHeader.html" target="basefrm">tHttpHeader</a></p>
  71 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtHttpHeaderLine.html" target="basefrm">tHttpHeaderLine</a></p>
  72 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtHttpRequest.html" target="basefrm">tHttpRequest</a></p>
  73 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtRequestLine.html" target="basefrm">tRequestLine</a></p>
  74 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtServer.html" target="basefrm">tServer</a></p>
  75 + </div>
  76 + <p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="functions.html" target="basefrm">Data Fields</a></p>
  77 + <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder2', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
  78 + <div id="folder2">
  79 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="appConfig_8h.html" target="basefrm">include/appConfig.h</a></p>
  80 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="client_8h.html" target="basefrm">include/client.h</a></p>
  81 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="daemonize_8h.html" target="basefrm">include/daemonize.h</a></p>
  82 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="httpRequest_8h.html" target="basefrm">include/httpRequest.h</a></p>
  83 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="logRotate_8h.html" target="basefrm">include/logRotate.h</a></p>
  84 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="monitor_8h.html" target="basefrm">include/monitor.h</a></p>
  85 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="server_8h.html" target="basefrm">include/server.h</a></p>
  86 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="signalHandling_8h.html" target="basefrm">include/signalHandling.h</a></p>
  87 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="socket_8h.html" target="basefrm">include/socket.h</a></p>
  88 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="writeBuffer_8h.html" target="basefrm">include/writeBuffer.h</a></p>
  89 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="clientClose_8c.html" target="basefrm">reader/commonReader/clientClose.c</a></p>
  90 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="clientRead_8c.html" target="basefrm">reader/commonReader/clientRead.c</a></p>
  91 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="writeBuffer_8c.html" target="basefrm">reader/commonReader/writeBuffer.c</a></p>
  92 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="httpRequest_8c.html" target="basefrm">reader/httpReader/httpRequest.c</a></p>
  93 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="serverInit_8c.html" target="basefrm">server/serverInit.c</a></p>
  94 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="serverRun_8c.html" target="basefrm">server/serverRun.c</a></p>
  95 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="serverShutdown_8c.html" target="basefrm">server/serverShutdown.c</a></p>
  96 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="daemonize_8c.html" target="basefrm">system/daemonize.c</a></p>
  97 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="handleCmdLine_8c.html" target="basefrm">system/handleCmdLine.c</a></p>
  98 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="logRotate_8c.html" target="basefrm">system/logRotate.c</a></p>
  99 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="monitor_8c.html" target="basefrm">system/monitor.c</a></p>
  100 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="signalHandling_8c.html" target="basefrm">system/signalHandling.c</a></p>
  101 + <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="socket_8c.html" target="basefrm">system/socket.c</a></p>
  102 + </div>
  103 + <p><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="globals.html" target="basefrm">Globals</a></p>
  104 + </div>
  105 + </div>
  106 +
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: reader/commonReader/writeBuffer.c Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>reader/commonReader/writeBuffer.c</h1><a href="writeBuffer_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for ferror() */</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
  24 +<a name="l00003"></a>00003
  25 +<a name="l00004"></a>00004
  26 +<a name="l00005"></a>00005 <span class="keywordtype">int</span>
  27 +<a name="l00006"></a><a class="code" href="writeBuffer_8c.html#a947cab623514e5a9c9700bca074b77e">00006</a> <a class="code" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a>(<span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos, FILE * wHandle)
  28 +<a name="l00007"></a>00007 {
  29 +<a name="l00008"></a>00008 <span class="keywordtype">char</span> * nlpos = strchr(*buffer, <span class="charliteral">'\n'</span>);
  30 +<a name="l00009"></a>00009 <span class="keywordtype">int</span> written = 0;
  31 +<a name="l00010"></a>00010
  32 +<a name="l00011"></a>00011 <span class="keywordflow">while</span> (NULL != nlpos) {
  33 +<a name="l00012"></a>00012 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> moveSize, clearSize;
  34 +<a name="l00013"></a>00013 <span class="keywordtype">char</span> * actAddr;
  35 +<a name="l00014"></a>00014
  36 +<a name="l00015"></a>00015 *nlpos = <span class="charliteral">'\0'</span>;
  37 +<a name="l00016"></a>00016
  38 +<a name="l00017"></a>00017 <span class="keywordflow">if</span> (0 != strlen(*buffer)) {
  39 +<a name="l00018"></a>00018 <span class="comment">/* write remaining stuff to file */</span>
  40 +<a name="l00019"></a>00019 fputs(*buffer, wHandle);
  41 +<a name="l00020"></a>00020 <span class="keywordflow">if</span> (ferror(wHandle)) {
  42 +<a name="l00021"></a>00021 <span class="keywordflow">return</span> -1;
  43 +<a name="l00022"></a>00022 }
  44 +<a name="l00023"></a>00023
  45 +<a name="l00024"></a>00024 fputc(<span class="charliteral">'\n'</span>, wHandle);
  46 +<a name="l00025"></a>00025 <span class="keywordflow">if</span> (ferror(wHandle)) {
  47 +<a name="l00026"></a>00026 <span class="keywordflow">return</span> -1;
  48 +<a name="l00027"></a>00027 }
  49 +<a name="l00028"></a>00028
  50 +<a name="l00029"></a>00029 fflush(wHandle);
  51 +<a name="l00030"></a>00030 <span class="keywordflow">if</span> (ferror(wHandle)) {
  52 +<a name="l00031"></a>00031 <span class="keywordflow">return</span> -1;
  53 +<a name="l00032"></a>00032 }
  54 +<a name="l00033"></a>00033
  55 +<a name="l00034"></a>00034 written += strlen(*buffer) + 1;
  56 +<a name="l00035"></a>00035 }
  57 +<a name="l00036"></a>00036
  58 +<a name="l00037"></a>00037 actAddr = *buffer + *readPos;
  59 +<a name="l00038"></a>00038 moveSize = actAddr - nlpos - 1;
  60 +<a name="l00039"></a>00039 clearSize = actAddr - *buffer - moveSize;
  61 +<a name="l00040"></a>00040 memmove(*buffer, nlpos+1, moveSize);
  62 +<a name="l00041"></a>00041 memset(*buffer + moveSize, 0, clearSize);
  63 +<a name="l00042"></a>00042 *readPos = moveSize;
  64 +<a name="l00043"></a>00043
  65 +<a name="l00044"></a>00044 nlpos = strchr(*buffer, <span class="charliteral">'\n'</span>);
  66 +<a name="l00045"></a>00045 }
  67 +<a name="l00046"></a>00046
  68 +<a name="l00047"></a>00047 <span class="keywordflow">return</span> written;
  69 +<a name="l00048"></a>00048 }
  70 +</pre></div></div>
  71 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  72 +<a href="http://www.doxygen.org/index.html">
  73 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  74 +</body>
  75 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: reader/commonReader/writeBuffer.c File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>reader/commonReader/writeBuffer.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
  25 +<code>#include &lt;string.h&gt;</code><br>
  26 +
  27 +<p>
  28 +<a href="writeBuffer_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  29 +<tr><td></td></tr>
  30 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  31 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="writeBuffer_8c.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a> (char **buffer, unsigned int *readPos, FILE *wHandle)</td></tr>
  32 +
  33 +</table>
  34 +<hr><h2>Function Documentation</h2>
  35 +<a class="anchor" name="a947cab623514e5a9c9700bca074b77e"></a><!-- doxytag: member="writeBuffer.c::writeBuffer" ref="a947cab623514e5a9c9700bca074b77e" args="(char **buffer, unsigned int *readPos, FILE *wHandle)" -->
  36 +<div class="memitem">
  37 +<div class="memproto">
  38 + <table class="memname">
  39 + <tr>
  40 + <td class="memname">int writeBuffer </td>
  41 + <td>(</td>
  42 + <td class="paramtype">char **&nbsp;</td>
  43 + <td class="paramname"> <em>buffer</em>, </td>
  44 + </tr>
  45 + <tr>
  46 + <td class="paramkey"></td>
  47 + <td></td>
  48 + <td class="paramtype">unsigned int *&nbsp;</td>
  49 + <td class="paramname"> <em>readPos</em>, </td>
  50 + </tr>
  51 + <tr>
  52 + <td class="paramkey"></td>
  53 + <td></td>
  54 + <td class="paramtype">FILE *&nbsp;</td>
  55 + <td class="paramname"> <em>wHandle</em></td><td>&nbsp;</td>
  56 + </tr>
  57 + <tr>
  58 + <td></td>
  59 + <td>)</td>
  60 + <td></td><td></td><td></td>
  61 + </tr>
  62 + </table>
  63 +</div>
  64 +<div class="memdoc">
  65 +
  66 +<p>
  67 +
  68 +<p>Definition at line <a class="el" href="writeBuffer_8c-source.html#l00006">6</a> of file <a class="el" href="writeBuffer_8c-source.html">writeBuffer.c</a>.</p>
  69 +
  70 +</div>
  71 +</div><p>
  72 +</div>
  73 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  74 +<a href="http://www.doxygen.org/index.html">
  75 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  76 +</body>
  77 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/writeBuffer.h Source File</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +<h1>include/writeBuffer.h</h1><a href="writeBuffer_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __WRITE_BUFFER_H__</span>
  23 +<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __WRITE_BUFFER_H__</span>
  24 +<a name="l00003"></a>00003 <span class="preprocessor"></span>
  25 +<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for FILE */</span>
  26 +<a name="l00005"></a>00005
  27 +<a name="l00006"></a>00006 <span class="keywordtype">int</span> <a class="code" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a>(<span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos, FILE * wHandle);
  28 +<a name="l00007"></a>00007
  29 +<a name="l00008"></a>00008 <span class="preprocessor">#endif // __WRITE_BUFFER_H__</span>
  30 +</pre></div></div>
  31 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  32 +<a href="http://www.doxygen.org/index.html">
  33 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  34 +</body>
  35 +</html>
... ...
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2 +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3 +<title>xmlrpc: include/writeBuffer.h File Reference</title>
  4 +<link href="tabs.css" rel="stylesheet" type="text/css">
  5 +<link href="doxygen.css" rel="stylesheet" type="text/css">
  6 +</head><body>
  7 +<!-- Generated by Doxygen 1.5.8 -->
  8 +<div class="navigation" id="top">
  9 + <div class="tabs">
  10 + <ul>
  11 + <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12 + <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13 + <li class="current"><a href="files.html"><span>Files</span></a></li>
  14 + </ul>
  15 + </div>
  16 + <div class="tabs">
  17 + <ul>
  18 + <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  19 + <li><a href="globals.html"><span>Globals</span></a></li>
  20 + </ul>
  21 + </div>
  22 +</div>
  23 +<div class="contents">
  24 +<h1>include/writeBuffer.h File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
  25 +
  26 +<p>
  27 +<a href="writeBuffer_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
  28 +<tr><td></td></tr>
  29 +<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
  30 +<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a> (char **buffer, unsigned int *readPos, FILE *wHandle)</td></tr>
  31 +
  32 +</table>
  33 +<hr><h2>Function Documentation</h2>
  34 +<a class="anchor" name="a947cab623514e5a9c9700bca074b77e"></a><!-- doxytag: member="writeBuffer.h::writeBuffer" ref="a947cab623514e5a9c9700bca074b77e" args="(char **buffer, unsigned int *readPos, FILE *wHandle)" -->
  35 +<div class="memitem">
  36 +<div class="memproto">
  37 + <table class="memname">
  38 + <tr>
  39 + <td class="memname">int writeBuffer </td>
  40 + <td>(</td>
  41 + <td class="paramtype">char **&nbsp;</td>
  42 + <td class="paramname"> <em>buffer</em>, </td>
  43 + </tr>
  44 + <tr>
  45 + <td class="paramkey"></td>
  46 + <td></td>
  47 + <td class="paramtype">unsigned int *&nbsp;</td>
  48 + <td class="paramname"> <em>readPos</em>, </td>
  49 + </tr>
  50 + <tr>
  51 + <td class="paramkey"></td>
  52 + <td></td>
  53 + <td class="paramtype">FILE *&nbsp;</td>
  54 + <td class="paramname"> <em>wHandle</em></td><td>&nbsp;</td>
  55 + </tr>
  56 + <tr>
  57 + <td></td>
  58 + <td>)</td>
  59 + <td></td><td></td><td></td>
  60 + </tr>
  61 + </table>
  62 +</div>
  63 +<div class="memdoc">
  64 +
  65 +<p>
  66 +
  67 +<p>Definition at line <a class="el" href="writeBuffer_8c-source.html#l00006">6</a> of file <a class="el" href="writeBuffer_8c-source.html">writeBuffer.c</a>.</p>
  68 +
  69 +</div>
  70 +</div><p>
  71 +</div>
  72 +<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
  73 +<a href="http://www.doxygen.org/index.html">
  74 +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
  75 +</body>
  76 +</html>
... ...
No preview for this file type
  1 +all: clean refman.pdf
  2 +
  3 +pdf: refman.pdf
  4 +
  5 +refman.pdf: refman.tex
  6 + pdflatex refman.tex
  7 + makeindex refman.idx
  8 + pdflatex refman.tex
  9 + latex_count=5 ; \
  10 + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
  11 + do \
  12 + echo "Rerunning latex...." ;\
  13 + pdflatex refman.tex ;\
  14 + latex_count=`expr $$latex_count - 1` ;\
  15 + done
  16 +
  17 +
  18 +clean:
  19 + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf
... ...
  1 +\section{Data Structures}
  2 +Here are the data structures with brief descriptions:\begin{CompactList}
  3 +\item\contentsline{section}{\hyperlink{structtAppConfig}{tAppConfig} }{\pageref{structtAppConfig}}{}
  4 +\item\contentsline{section}{\hyperlink{structtClient}{tClient} }{\pageref{structtClient}}{}
  5 +\item\contentsline{section}{\hyperlink{structtHttpHeader}{tHttpHeader} }{\pageref{structtHttpHeader}}{}
  6 +\item\contentsline{section}{\hyperlink{structtHttpHeaderLine}{tHttpHeaderLine} }{\pageref{structtHttpHeaderLine}}{}
  7 +\item\contentsline{section}{\hyperlink{structtHttpRequest}{tHttpRequest} }{\pageref{structtHttpRequest}}{}
  8 +\item\contentsline{section}{\hyperlink{structtRequestLine}{tRequestLine} }{\pageref{structtRequestLine}}{}
  9 +\item\contentsline{section}{\hyperlink{structtServer}{tServer} }{\pageref{structtServer}}{}
  10 +\end{CompactList}
... ...
  1 +\hypertarget{appConfig_8h}{
  2 +\section{include/appConfig.h File Reference}
  3 +\label{appConfig_8h}\index{include/appConfig.h@{include/appConfig.h}}
  4 +}
  5 +\subsection*{Data Structures}
  6 +\begin{CompactItemize}
  7 +\item
  8 +struct \hyperlink{structtAppConfig}{tAppConfig}
  9 +\end{CompactItemize}
  10 +\subsection*{Defines}
  11 +\begin{CompactItemize}
  12 +\item
  13 +\#define \hyperlink{appConfig_8h_f77ed3e65a7b1a9341603d152a1404df}{MAXPENDING}~10
  14 +\item
  15 +\#define \hyperlink{appConfig_8h_ce5c08f66edfc6ae44edaeef6b6101b6}{MAXCLIENTS}~1000
  16 +\item
  17 +\#define \hyperlink{appConfig_8h_a0534241791f23ec8098503582406166}{READBUFSIZE}~2048
  18 +\item
  19 +\#define \hyperlink{appConfig_8h_3db4dba8d56385b62759b89c98cae447}{DEFAULTPORT}~8801
  20 +\item
  21 +\#define \hyperlink{appConfig_8h_0672e2d34f3bbe2f6cdad6f307b9d1cf}{DEFAULTPATH}~\char`\"{}logfiles\char`\"{}
  22 +\item
  23 +\#define \hyperlink{appConfig_8h_9a98b2d0f973e357020c1274ec5b56c0}{LOGNAMEPATTERN}~\char`\"{}log-\%Y-\%m-\%d\_\-\%Hh\char`\"{}
  24 +\item
  25 +\#define \hyperlink{appConfig_8h_acc3ee1a7f283f8ef65cea31f4436a95}{MAX}(x, y)~((x) $>$ (y) ? (x) : (y))
  26 +\item
  27 +\#define \hyperlink{appConfig_8h_74e75242132eaabbc1c512488a135926}{MIN}(x, y)~((x) $<$ (y) ? (x) : (y))
  28 +\end{CompactItemize}
  29 +\subsection*{Functions}
  30 +\begin{CompactItemize}
  31 +\item
  32 +int \hyperlink{appConfig_8h_3755d793d10d6e5793ed5086a0b22964}{handleCmdLine} (\hyperlink{structtAppConfig}{tAppConfig} $\ast$config, int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
  33 +\end{CompactItemize}
  34 +
  35 +
  36 +\subsection{Define Documentation}
  37 +\hypertarget{appConfig_8h_0672e2d34f3bbe2f6cdad6f307b9d1cf}{
  38 +\index{appConfig.h@{appConfig.h}!DEFAULTPATH@{DEFAULTPATH}}
  39 +\index{DEFAULTPATH@{DEFAULTPATH}!appConfig.h@{appConfig.h}}
  40 +\subsubsection[{DEFAULTPATH}]{\setlength{\rightskip}{0pt plus 5cm}\#define DEFAULTPATH~\char`\"{}logfiles\char`\"{}}}
  41 +\label{appConfig_8h_0672e2d34f3bbe2f6cdad6f307b9d1cf}
  42 +
  43 +
  44 +
  45 +
  46 +Definition at line 8 of file appConfig.h.\hypertarget{appConfig_8h_3db4dba8d56385b62759b89c98cae447}{
  47 +\index{appConfig.h@{appConfig.h}!DEFAULTPORT@{DEFAULTPORT}}
  48 +\index{DEFAULTPORT@{DEFAULTPORT}!appConfig.h@{appConfig.h}}
  49 +\subsubsection[{DEFAULTPORT}]{\setlength{\rightskip}{0pt plus 5cm}\#define DEFAULTPORT~8801}}
  50 +\label{appConfig_8h_3db4dba8d56385b62759b89c98cae447}
  51 +
  52 +
  53 +
  54 +
  55 +Definition at line 7 of file appConfig.h.\hypertarget{appConfig_8h_9a98b2d0f973e357020c1274ec5b56c0}{
  56 +\index{appConfig.h@{appConfig.h}!LOGNAMEPATTERN@{LOGNAMEPATTERN}}
  57 +\index{LOGNAMEPATTERN@{LOGNAMEPATTERN}!appConfig.h@{appConfig.h}}
  58 +\subsubsection[{LOGNAMEPATTERN}]{\setlength{\rightskip}{0pt plus 5cm}\#define LOGNAMEPATTERN~\char`\"{}log-\%Y-\%m-\%d\_\-\%Hh\char`\"{}}}
  59 +\label{appConfig_8h_9a98b2d0f973e357020c1274ec5b56c0}
  60 +
  61 +
  62 +
  63 +
  64 +Definition at line 9 of file appConfig.h.\hypertarget{appConfig_8h_acc3ee1a7f283f8ef65cea31f4436a95}{
  65 +\index{appConfig.h@{appConfig.h}!MAX@{MAX}}
  66 +\index{MAX@{MAX}!appConfig.h@{appConfig.h}}
  67 +\subsubsection[{MAX}]{\setlength{\rightskip}{0pt plus 5cm}\#define MAX(x, \/ y)~((x) $>$ (y) ? (x) : (y))}}
  68 +\label{appConfig_8h_acc3ee1a7f283f8ef65cea31f4436a95}
  69 +
  70 +
  71 +
  72 +
  73 +Definition at line 12 of file appConfig.h.\hypertarget{appConfig_8h_ce5c08f66edfc6ae44edaeef6b6101b6}{
  74 +\index{appConfig.h@{appConfig.h}!MAXCLIENTS@{MAXCLIENTS}}
  75 +\index{MAXCLIENTS@{MAXCLIENTS}!appConfig.h@{appConfig.h}}
  76 +\subsubsection[{MAXCLIENTS}]{\setlength{\rightskip}{0pt plus 5cm}\#define MAXCLIENTS~1000}}
  77 +\label{appConfig_8h_ce5c08f66edfc6ae44edaeef6b6101b6}
  78 +
  79 +
  80 +
  81 +
  82 +Definition at line 5 of file appConfig.h.\hypertarget{appConfig_8h_f77ed3e65a7b1a9341603d152a1404df}{
  83 +\index{appConfig.h@{appConfig.h}!MAXPENDING@{MAXPENDING}}
  84 +\index{MAXPENDING@{MAXPENDING}!appConfig.h@{appConfig.h}}
  85 +\subsubsection[{MAXPENDING}]{\setlength{\rightskip}{0pt plus 5cm}\#define MAXPENDING~10}}
  86 +\label{appConfig_8h_f77ed3e65a7b1a9341603d152a1404df}
  87 +
  88 +
  89 +
  90 +
  91 +Definition at line 4 of file appConfig.h.\hypertarget{appConfig_8h_74e75242132eaabbc1c512488a135926}{
  92 +\index{appConfig.h@{appConfig.h}!MIN@{MIN}}
  93 +\index{MIN@{MIN}!appConfig.h@{appConfig.h}}
  94 +\subsubsection[{MIN}]{\setlength{\rightskip}{0pt plus 5cm}\#define MIN(x, \/ y)~((x) $<$ (y) ? (x) : (y))}}
  95 +\label{appConfig_8h_74e75242132eaabbc1c512488a135926}
  96 +
  97 +
  98 +
  99 +
  100 +Definition at line 15 of file appConfig.h.\hypertarget{appConfig_8h_a0534241791f23ec8098503582406166}{
  101 +\index{appConfig.h@{appConfig.h}!READBUFSIZE@{READBUFSIZE}}
  102 +\index{READBUFSIZE@{READBUFSIZE}!appConfig.h@{appConfig.h}}
  103 +\subsubsection[{READBUFSIZE}]{\setlength{\rightskip}{0pt plus 5cm}\#define READBUFSIZE~2048}}
  104 +\label{appConfig_8h_a0534241791f23ec8098503582406166}
  105 +
  106 +
  107 +
  108 +
  109 +Definition at line 6 of file appConfig.h.
  110 +
  111 +\subsection{Function Documentation}
  112 +\hypertarget{appConfig_8h_3755d793d10d6e5793ed5086a0b22964}{
  113 +\index{appConfig.h@{appConfig.h}!handleCmdLine@{handleCmdLine}}
  114 +\index{handleCmdLine@{handleCmdLine}!appConfig.h@{appConfig.h}}
  115 +\subsubsection[{handleCmdLine}]{\setlength{\rightskip}{0pt plus 5cm}int handleCmdLine ({\bf tAppConfig} $\ast$ {\em config}, \/ int {\em argc}, \/ char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]})}}
  116 +\label{appConfig_8h_3755d793d10d6e5793ed5086a0b22964}
  117 +
  118 +
  119 +
  120 +
  121 +Definition at line 10 of file handleCmdLine.c.
\ No newline at end of file
... ...
  1 +\hypertarget{clientClose_8c}{
  2 +\section{reader/commonReader/clientClose.c File Reference}
  3 +\label{clientClose_8c}\index{reader/commonReader/clientClose.c@{reader/commonReader/clientClose.c}}
  4 +}
  5 +{\tt \#include $<$stdlib.h$>$}\par
  6 +{\tt \#include $<$unistd.h$>$}\par
  7 +{\tt \#include $<$sys/socket.h$>$}\par
  8 +{\tt \#include $<$string.h$>$}\par
  9 +{\tt \#include $<$expat.h$>$}\par
  10 +{\tt \#include \char`\"{}../../include/client.h\char`\"{}}\par
  11 +{\tt \#include \char`\"{}../../include/monitor.h\char`\"{}}\par
  12 +{\tt \#include \char`\"{}../../include/httpRequest.h\char`\"{}}\par
  13 +\subsection*{Functions}
  14 +\begin{CompactItemize}
  15 +\item
  16 +void \hyperlink{clientClose_8c_a9dad65338aa78062b23a924ae1d2b59}{clientClose} (\hyperlink{structtClient}{tClient} $\ast$client)
  17 +\end{CompactItemize}
  18 +
  19 +
  20 +\subsection{Function Documentation}
  21 +\hypertarget{clientClose_8c_a9dad65338aa78062b23a924ae1d2b59}{
  22 +\index{clientClose.c@{clientClose.c}!clientClose@{clientClose}}
  23 +\index{clientClose@{clientClose}!clientClose.c@{clientClose.c}}
  24 +\subsubsection[{clientClose}]{\setlength{\rightskip}{0pt plus 5cm}void clientClose ({\bf tClient} $\ast$ {\em client})}}
  25 +\label{clientClose_8c_a9dad65338aa78062b23a924ae1d2b59}
  26 +
  27 +
  28 +
  29 +
  30 +Definition at line 12 of file clientClose.c.
\ No newline at end of file
... ...
  1 +\hypertarget{clientRead_8c}{
  2 +\section{reader/commonReader/clientRead.c File Reference}
  3 +\label{clientRead_8c}\index{reader/commonReader/clientRead.c@{reader/commonReader/clientRead.c}}
  4 +}
  5 +{\tt \#include $<$unistd.h$>$}\par
  6 +{\tt \#include $<$stdlib.h$>$}\par
  7 +{\tt \#include $<$string.h$>$}\par
  8 +{\tt \#include $<$errno.h$>$}\par
  9 +{\tt \#include \char`\"{}../../include/client.h\char`\"{}}\par
  10 +{\tt \#include \char`\"{}../../include/monitor.h\char`\"{}}\par
  11 +\subsection*{Defines}
  12 +\begin{CompactItemize}
  13 +\item
  14 +\#define \hyperlink{clientRead_8c_3baabeba3e06eb1b8761363a58f8391b}{GET\_\-MULTIPLIER}(size)~(((size) - 1) / READBUFSIZE + 1)
  15 +\item
  16 +\#define \hyperlink{clientRead_8c_47d745b24a58d0152c7b43db75387a79}{EOB}(client, addr)~((addr) -(client) $\rightarrow$ readBuffer $>$= (client) $\rightarrow$ readPos)
  17 +\item
  18 +\#define \hyperlink{clientRead_8c_b6f9cfea308c9f485d4b00b60fd2f6cd}{REMAINING}(client, addr)~((client) $\rightarrow$ readPos - ((addr) - (client) $\rightarrow$ readBuffer))
  19 +\end{CompactItemize}
  20 +\subsection*{Functions}
  21 +\begin{CompactItemize}
  22 +\item
  23 +int \hyperlink{clientRead_8c_6504ff36553f8008b9ee1d52aa977740}{clientRead} (\hyperlink{structtClient}{tClient} $\ast$client)
  24 +\item
  25 +char $\ast$ \hyperlink{clientRead_8c_8363f6facea09bd36e288a51c983aed2}{clientConsumeLine} (\hyperlink{structtClient}{tClient} $\ast$client, const char $\ast$delim, unsigned int $\ast$len)
  26 +\item
  27 +char $\ast$ \hyperlink{clientRead_8c_fbcefe4f20179c643fdff8007235325c}{clientGetLine} (\hyperlink{structtClient}{tClient} $\ast$client, const char $\ast$delim, unsigned int $\ast$len)
  28 +\item
  29 +char $\ast$ \hyperlink{clientRead_8c_8cbd479139f4645f07ae0b7c18202fef}{clientRemoveLine} (\hyperlink{structtClient}{tClient} $\ast$client, const char $\ast$delim, unsigned int $\ast$len)
  30 +\end{CompactItemize}
  31 +
  32 +
  33 +\subsection{Define Documentation}
  34 +\hypertarget{clientRead_8c_47d745b24a58d0152c7b43db75387a79}{
  35 +\index{clientRead.c@{clientRead.c}!EOB@{EOB}}
  36 +\index{EOB@{EOB}!clientRead.c@{clientRead.c}}
  37 +\subsubsection[{EOB}]{\setlength{\rightskip}{0pt plus 5cm}\#define EOB(client, \/ addr)~((addr) -(client) $\rightarrow$ readBuffer $>$= (client) $\rightarrow$ readPos)}}
  38 +\label{clientRead_8c_47d745b24a58d0152c7b43db75387a79}
  39 +
  40 +
  41 +
  42 +
  43 +Definition at line 100 of file clientRead.c.\hypertarget{clientRead_8c_3baabeba3e06eb1b8761363a58f8391b}{
  44 +\index{clientRead.c@{clientRead.c}!GET\_\-MULTIPLIER@{GET\_\-MULTIPLIER}}
  45 +\index{GET\_\-MULTIPLIER@{GET\_\-MULTIPLIER}!clientRead.c@{clientRead.c}}
  46 +\subsubsection[{GET\_\-MULTIPLIER}]{\setlength{\rightskip}{0pt plus 5cm}\#define GET\_\-MULTIPLIER(size)~(((size) - 1) / READBUFSIZE + 1)}}
  47 +\label{clientRead_8c_3baabeba3e06eb1b8761363a58f8391b}
  48 +
  49 +
  50 +
  51 +
  52 +Definition at line 9 of file clientRead.c.\hypertarget{clientRead_8c_b6f9cfea308c9f485d4b00b60fd2f6cd}{
  53 +\index{clientRead.c@{clientRead.c}!REMAINING@{REMAINING}}
  54 +\index{REMAINING@{REMAINING}!clientRead.c@{clientRead.c}}
  55 +\subsubsection[{REMAINING}]{\setlength{\rightskip}{0pt plus 5cm}\#define REMAINING(client, \/ addr)~((client) $\rightarrow$ readPos - ((addr) - (client) $\rightarrow$ readBuffer))}}
  56 +\label{clientRead_8c_b6f9cfea308c9f485d4b00b60fd2f6cd}
  57 +
  58 +
  59 +
  60 +
  61 +Definition at line 101 of file clientRead.c.
  62 +
  63 +\subsection{Function Documentation}
  64 +\hypertarget{clientRead_8c_8363f6facea09bd36e288a51c983aed2}{
  65 +\index{clientRead.c@{clientRead.c}!clientConsumeLine@{clientConsumeLine}}
  66 +\index{clientConsumeLine@{clientConsumeLine}!clientRead.c@{clientRead.c}}
  67 +\subsubsection[{clientConsumeLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientConsumeLine ({\bf tClient} $\ast$ {\em client}, \/ const char $\ast$ {\em delim}, \/ unsigned int $\ast$ {\em len})}}
  68 +\label{clientRead_8c_8363f6facea09bd36e288a51c983aed2}
  69 +
  70 +
  71 +
  72 +
  73 +Definition at line 133 of file clientRead.c.\hypertarget{clientRead_8c_fbcefe4f20179c643fdff8007235325c}{
  74 +\index{clientRead.c@{clientRead.c}!clientGetLine@{clientGetLine}}
  75 +\index{clientGetLine@{clientGetLine}!clientRead.c@{clientRead.c}}
  76 +\subsubsection[{clientGetLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientGetLine ({\bf tClient} $\ast$ {\em client}, \/ const char $\ast$ {\em delim}, \/ unsigned int $\ast$ {\em len})}}
  77 +\label{clientRead_8c_fbcefe4f20179c643fdff8007235325c}
  78 +
  79 +
  80 +
  81 +
  82 +Definition at line 151 of file clientRead.c.\hypertarget{clientRead_8c_6504ff36553f8008b9ee1d52aa977740}{
  83 +\index{clientRead.c@{clientRead.c}!clientRead@{clientRead}}
  84 +\index{clientRead@{clientRead}!clientRead.c@{clientRead.c}}
  85 +\subsubsection[{clientRead}]{\setlength{\rightskip}{0pt plus 5cm}int clientRead ({\bf tClient} $\ast$ {\em client})}}
  86 +\label{clientRead_8c_6504ff36553f8008b9ee1d52aa977740}
  87 +
  88 +
  89 +
  90 +
  91 +Definition at line 53 of file clientRead.c.\hypertarget{clientRead_8c_8cbd479139f4645f07ae0b7c18202fef}{
  92 +\index{clientRead.c@{clientRead.c}!clientRemoveLine@{clientRemoveLine}}
  93 +\index{clientRemoveLine@{clientRemoveLine}!clientRead.c@{clientRead.c}}
  94 +\subsubsection[{clientRemoveLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientRemoveLine ({\bf tClient} $\ast$ {\em client}, \/ const char $\ast$ {\em delim}, \/ unsigned int $\ast$ {\em len})}}
  95 +\label{clientRead_8c_8cbd479139f4645f07ae0b7c18202fef}
  96 +
  97 +
  98 +
  99 +
  100 +Definition at line 164 of file clientRead.c.
\ No newline at end of file
... ...
  1 +\hypertarget{client_8h}{
  2 +\section{include/client.h File Reference}
  3 +\label{client_8h}\index{include/client.h@{include/client.h}}
  4 +}
  5 +{\tt \#include $<$stdio.h$>$}\par
  6 +{\tt \#include $<$expat.h$>$}\par
  7 +{\tt \#include \char`\"{}httpRequest.h\char`\"{}}\par
  8 +\subsection*{Data Structures}
  9 +\begin{CompactItemize}
  10 +\item
  11 +struct \hyperlink{structtClient}{tClient}
  12 +\end{CompactItemize}
  13 +\subsection*{Defines}
  14 +\begin{CompactItemize}
  15 +\item
  16 +\#define \hyperlink{client_8h_a0534241791f23ec8098503582406166}{READBUFSIZE}~2048
  17 +\item
  18 +\#define \hyperlink{client_8h_eefa2efc8515c7f8334de344e8a07fbf}{CLIENTMULTMAX}~512U
  19 +\item
  20 +\#define \hyperlink{client_8h_f150df8f008146f177d67862d2569834}{READ\_\-ERR\_\-LONGLINE}~-2
  21 +\item
  22 +\#define \hyperlink{client_8h_4f090ce41ed48b83e309d8fce71db4ab}{READ\_\-ERR\_\-MEMORY}~-3
  23 +\end{CompactItemize}
  24 +\subsection*{Functions}
  25 +\begin{CompactItemize}
  26 +\item
  27 +void \hyperlink{client_8h_a9dad65338aa78062b23a924ae1d2b59}{clientClose} (\hyperlink{structtClient}{tClient} $\ast$client)
  28 +\item
  29 +int \hyperlink{client_8h_6504ff36553f8008b9ee1d52aa977740}{clientRead} (\hyperlink{structtClient}{tClient} $\ast$client)
  30 +\item
  31 +int \hyperlink{client_8h_ab1a321bfd432ac9ec8818ad3eb6e591}{clientWrite} (\hyperlink{structtClient}{tClient} $\ast$client)
  32 +\item
  33 +char $\ast$ \hyperlink{client_8h_9741eb2a0853766868828c722e67c068}{clientGetLine} (\hyperlink{structtClient}{tClient} $\ast$, const char $\ast$, unsigned int $\ast$)
  34 +\item
  35 +char $\ast$ \hyperlink{client_8h_a920588f9122184bad211ae912d1dbc4}{clientRemoveLine} (\hyperlink{structtClient}{tClient} $\ast$, const char $\ast$, unsigned int $\ast$)
  36 +\end{CompactItemize}
  37 +\subsection*{Variables}
  38 +\begin{CompactItemize}
  39 +\item
  40 +int \hyperlink{client_8h_0b2caeb4b6f130be43e5a2f0267dd453}{verbose}
  41 +\end{CompactItemize}
  42 +
  43 +
  44 +\subsection{Define Documentation}
  45 +\hypertarget{client_8h_eefa2efc8515c7f8334de344e8a07fbf}{
  46 +\index{client.h@{client.h}!CLIENTMULTMAX@{CLIENTMULTMAX}}
  47 +\index{CLIENTMULTMAX@{CLIENTMULTMAX}!client.h@{client.h}}
  48 +\subsubsection[{CLIENTMULTMAX}]{\setlength{\rightskip}{0pt plus 5cm}\#define CLIENTMULTMAX~512U}}
  49 +\label{client_8h_eefa2efc8515c7f8334de344e8a07fbf}
  50 +
  51 +
  52 +
  53 +
  54 +Definition at line 11 of file client.h.\hypertarget{client_8h_f150df8f008146f177d67862d2569834}{
  55 +\index{client.h@{client.h}!READ\_\-ERR\_\-LONGLINE@{READ\_\-ERR\_\-LONGLINE}}
  56 +\index{READ\_\-ERR\_\-LONGLINE@{READ\_\-ERR\_\-LONGLINE}!client.h@{client.h}}
  57 +\subsubsection[{READ\_\-ERR\_\-LONGLINE}]{\setlength{\rightskip}{0pt plus 5cm}\#define READ\_\-ERR\_\-LONGLINE~-2}}
  58 +\label{client_8h_f150df8f008146f177d67862d2569834}
  59 +
  60 +
  61 +
  62 +
  63 +Definition at line 13 of file client.h.\hypertarget{client_8h_4f090ce41ed48b83e309d8fce71db4ab}{
  64 +\index{client.h@{client.h}!READ\_\-ERR\_\-MEMORY@{READ\_\-ERR\_\-MEMORY}}
  65 +\index{READ\_\-ERR\_\-MEMORY@{READ\_\-ERR\_\-MEMORY}!client.h@{client.h}}
  66 +\subsubsection[{READ\_\-ERR\_\-MEMORY}]{\setlength{\rightskip}{0pt plus 5cm}\#define READ\_\-ERR\_\-MEMORY~-3}}
  67 +\label{client_8h_4f090ce41ed48b83e309d8fce71db4ab}
  68 +
  69 +
  70 +
  71 +
  72 +Definition at line 14 of file client.h.\hypertarget{client_8h_a0534241791f23ec8098503582406166}{
  73 +\index{client.h@{client.h}!READBUFSIZE@{READBUFSIZE}}
  74 +\index{READBUFSIZE@{READBUFSIZE}!client.h@{client.h}}
  75 +\subsubsection[{READBUFSIZE}]{\setlength{\rightskip}{0pt plus 5cm}\#define READBUFSIZE~2048}}
  76 +\label{client_8h_a0534241791f23ec8098503582406166}
  77 +
  78 +
  79 +
  80 +
  81 +Definition at line 10 of file client.h.
  82 +
  83 +\subsection{Function Documentation}
  84 +\hypertarget{client_8h_a9dad65338aa78062b23a924ae1d2b59}{
  85 +\index{client.h@{client.h}!clientClose@{clientClose}}
  86 +\index{clientClose@{clientClose}!client.h@{client.h}}
  87 +\subsubsection[{clientClose}]{\setlength{\rightskip}{0pt plus 5cm}void clientClose ({\bf tClient} $\ast$ {\em client})}}
  88 +\label{client_8h_a9dad65338aa78062b23a924ae1d2b59}
  89 +
  90 +
  91 +
  92 +
  93 +Definition at line 12 of file clientClose.c.\hypertarget{client_8h_9741eb2a0853766868828c722e67c068}{
  94 +\index{client.h@{client.h}!clientGetLine@{clientGetLine}}
  95 +\index{clientGetLine@{clientGetLine}!client.h@{client.h}}
  96 +\subsubsection[{clientGetLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientGetLine ({\bf tClient} $\ast$, \/ const char $\ast$, \/ unsigned int $\ast$)}}
  97 +\label{client_8h_9741eb2a0853766868828c722e67c068}
  98 +
  99 +
  100 +
  101 +
  102 +Definition at line 151 of file clientRead.c.\hypertarget{client_8h_6504ff36553f8008b9ee1d52aa977740}{
  103 +\index{client.h@{client.h}!clientRead@{clientRead}}
  104 +\index{clientRead@{clientRead}!client.h@{client.h}}
  105 +\subsubsection[{clientRead}]{\setlength{\rightskip}{0pt plus 5cm}int clientRead ({\bf tClient} $\ast$ {\em client})}}
  106 +\label{client_8h_6504ff36553f8008b9ee1d52aa977740}
  107 +
  108 +
  109 +
  110 +
  111 +Definition at line 53 of file clientRead.c.\hypertarget{client_8h_a920588f9122184bad211ae912d1dbc4}{
  112 +\index{client.h@{client.h}!clientRemoveLine@{clientRemoveLine}}
  113 +\index{clientRemoveLine@{clientRemoveLine}!client.h@{client.h}}
  114 +\subsubsection[{clientRemoveLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientRemoveLine ({\bf tClient} $\ast$, \/ const char $\ast$, \/ unsigned int $\ast$)}}
  115 +\label{client_8h_a920588f9122184bad211ae912d1dbc4}
  116 +
  117 +
  118 +
  119 +
  120 +Definition at line 164 of file clientRead.c.\hypertarget{client_8h_ab1a321bfd432ac9ec8818ad3eb6e591}{
  121 +\index{client.h@{client.h}!clientWrite@{clientWrite}}
  122 +\index{clientWrite@{clientWrite}!client.h@{client.h}}
  123 +\subsubsection[{clientWrite}]{\setlength{\rightskip}{0pt plus 5cm}int clientWrite ({\bf tClient} $\ast$ {\em client})}}
  124 +\label{client_8h_ab1a321bfd432ac9ec8818ad3eb6e591}
  125 +
  126 +
  127 +
  128 +
  129 +\subsection{Variable Documentation}
  130 +\hypertarget{client_8h_0b2caeb4b6f130be43e5a2f0267dd453}{
  131 +\index{client.h@{client.h}!verbose@{verbose}}
  132 +\index{verbose@{verbose}!client.h@{client.h}}
  133 +\subsubsection[{verbose}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf verbose}}}
  134 +\label{client_8h_0b2caeb4b6f130be43e5a2f0267dd453}
  135 +
  136 +
... ...
  1 +\hypertarget{daemonize_8c}{
  2 +\section{system/daemonize.c File Reference}
  3 +\label{daemonize_8c}\index{system/daemonize.c@{system/daemonize.c}}
  4 +}
  5 +{\tt \#include $<$stdio.h$>$}\par
  6 +{\tt \#include $<$unistd.h$>$}\par
  7 +{\tt \#include $<$stdlib.h$>$}\par
  8 +\subsection*{Functions}
  9 +\begin{CompactItemize}
  10 +\item
  11 +void \hyperlink{daemonize_8c_29b0af1da2432bcc90721c0b62f4e660}{daemonize} (void)
  12 +\end{CompactItemize}
  13 +
  14 +
  15 +\subsection{Function Documentation}
  16 +\hypertarget{daemonize_8c_29b0af1da2432bcc90721c0b62f4e660}{
  17 +\index{daemonize.c@{daemonize.c}!daemonize@{daemonize}}
  18 +\index{daemonize@{daemonize}!daemonize.c@{daemonize.c}}
  19 +\subsubsection[{daemonize}]{\setlength{\rightskip}{0pt plus 5cm}void daemonize (void)}}
  20 +\label{daemonize_8c_29b0af1da2432bcc90721c0b62f4e660}
  21 +
  22 +
  23 +
  24 +
  25 +Definition at line 6 of file daemonize.c.
\ No newline at end of file
... ...
  1 +\hypertarget{daemonize_8h}{
  2 +\section{include/daemonize.h File Reference}
  3 +\label{daemonize_8h}\index{include/daemonize.h@{include/daemonize.h}}
  4 +}
  5 +\subsection*{Functions}
  6 +\begin{CompactItemize}
  7 +\item
  8 +void \hyperlink{daemonize_8h_29b0af1da2432bcc90721c0b62f4e660}{daemonize} (void)
  9 +\end{CompactItemize}
  10 +
  11 +
  12 +\subsection{Function Documentation}
  13 +\hypertarget{daemonize_8h_29b0af1da2432bcc90721c0b62f4e660}{
  14 +\index{daemonize.h@{daemonize.h}!daemonize@{daemonize}}
  15 +\index{daemonize@{daemonize}!daemonize.h@{daemonize.h}}
  16 +\subsubsection[{daemonize}]{\setlength{\rightskip}{0pt plus 5cm}void daemonize (void)}}
  17 +\label{daemonize_8h_29b0af1da2432bcc90721c0b62f4e660}
  18 +
  19 +
  20 +
  21 +
  22 +Definition at line 6 of file daemonize.c.
\ No newline at end of file
... ...
  1 +\NeedsTeXFormat{LaTeX2e}
  2 +\ProvidesPackage{doxygen}
  3 +\RequirePackage{calc}
  4 +\RequirePackage{array}
  5 +\pagestyle{fancyplain}
  6 +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
  7 +\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
  8 +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
  9 +\lhead[\fancyplain{}{\bfseries\thepage}]
  10 + {\fancyplain{}{\bfseries\rightmark}}
  11 +\rhead[\fancyplain{}{\bfseries\leftmark}]
  12 + {\fancyplain{}{\bfseries\thepage}}
  13 +\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by Doxygen }]{}
  14 +\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by Doxygen }}
  15 +\cfoot{}
  16 +\newenvironment{Code}
  17 +{\footnotesize}
  18 +{\normalsize}
  19 +\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
  20 +\newenvironment{DocInclude}
  21 +{\footnotesize}
  22 +{\normalsize}
  23 +\newenvironment{VerbInclude}
  24 +{\footnotesize}
  25 +{\normalsize}
  26 +\newenvironment{Image}
  27 +{\begin{figure}[H]}
  28 +{\end{figure}}
  29 +\newenvironment{ImageNoCaption}{}{}
  30 +\newenvironment{CompactList}
  31 +{\begin{list}{}{
  32 + \setlength{\leftmargin}{0.5cm}
  33 + \setlength{\itemsep}{0pt}
  34 + \setlength{\parsep}{0pt}
  35 + \setlength{\topsep}{0pt}
  36 + \renewcommand{\makelabel}{\hfill}}}
  37 +{\end{list}}
  38 +\newenvironment{CompactItemize}
  39 +{
  40 + \begin{itemize}
  41 + \setlength{\itemsep}{-3pt}
  42 + \setlength{\parsep}{0pt}
  43 + \setlength{\topsep}{0pt}
  44 + \setlength{\partopsep}{0pt}
  45 +}
  46 +{\end{itemize}}
  47 +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
  48 +\newlength{\tmplength}
  49 +\newenvironment{TabularC}[1]
  50 +{
  51 +\setlength{\tmplength}
  52 + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
  53 + \par\begin{tabular*}{\linewidth}
  54 + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
  55 +}
  56 +{\end{tabular*}\par}
  57 +\newcommand{\entrylabel}[1]{
  58 + {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
  59 +\newenvironment{Desc}
  60 +{\begin{list}{}
  61 + {
  62 + \settowidth{\labelwidth}{40pt}
  63 + \setlength{\leftmargin}{\labelwidth}
  64 + \setlength{\parsep}{0pt}
  65 + \setlength{\itemsep}{-4pt}
  66 + \renewcommand{\makelabel}{\entrylabel}
  67 + }
  68 +}
  69 +{\end{list}}
  70 +\newenvironment{Indent}
  71 + {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
  72 + \item[]\ignorespaces}
  73 + {\unskip\end{list}}
  74 +\setlength{\parindent}{0cm}
  75 +\setlength{\parskip}{0.2cm}
  76 +\addtocounter{secnumdepth}{1}
  77 +\sloppy
  78 +\usepackage[T1]{fontenc}
  79 +\makeatletter
  80 +\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
  81 + {-3.25ex plus -1ex minus -0.2ex}%
  82 + {1.5ex plus 0.2ex}%
  83 + {\normalfont\normalsize\bfseries}}
  84 +\makeatother
  85 +\stepcounter{secnumdepth}
  86 +\stepcounter{tocdepth}
... ...
  1 +\section{File List}
  2 +Here is a list of all files with brief descriptions:\begin{CompactList}
  3 +\item\contentsline{section}{include/\hyperlink{appConfig_8h}{appConfig.h} }{\pageref{appConfig_8h}}{}
  4 +\item\contentsline{section}{include/\hyperlink{client_8h}{client.h} }{\pageref{client_8h}}{}
  5 +\item\contentsline{section}{include/\hyperlink{daemonize_8h}{daemonize.h} }{\pageref{daemonize_8h}}{}
  6 +\item\contentsline{section}{include/\hyperlink{httpRequest_8h}{httpRequest.h} }{\pageref{httpRequest_8h}}{}
  7 +\item\contentsline{section}{include/\hyperlink{logRotate_8h}{logRotate.h} }{\pageref{logRotate_8h}}{}
  8 +\item\contentsline{section}{include/\hyperlink{monitor_8h}{monitor.h} }{\pageref{monitor_8h}}{}
  9 +\item\contentsline{section}{include/\hyperlink{server_8h}{server.h} }{\pageref{server_8h}}{}
  10 +\item\contentsline{section}{include/\hyperlink{signalHandling_8h}{signalHandling.h} }{\pageref{signalHandling_8h}}{}
  11 +\item\contentsline{section}{include/\hyperlink{socket_8h}{socket.h} }{\pageref{socket_8h}}{}
  12 +\item\contentsline{section}{include/\hyperlink{writeBuffer_8h}{writeBuffer.h} }{\pageref{writeBuffer_8h}}{}
  13 +\item\contentsline{section}{reader/commonReader/\hyperlink{clientClose_8c}{clientClose.c} }{\pageref{clientClose_8c}}{}
  14 +\item\contentsline{section}{reader/commonReader/\hyperlink{clientRead_8c}{clientRead.c} }{\pageref{clientRead_8c}}{}
  15 +\item\contentsline{section}{reader/commonReader/\hyperlink{writeBuffer_8c}{writeBuffer.c} }{\pageref{writeBuffer_8c}}{}
  16 +\item\contentsline{section}{reader/httpReader/\hyperlink{httpRequest_8c}{httpRequest.c} }{\pageref{httpRequest_8c}}{}
  17 +\item\contentsline{section}{server/\hyperlink{serverInit_8c}{serverInit.c} }{\pageref{serverInit_8c}}{}
  18 +\item\contentsline{section}{server/\hyperlink{serverRun_8c}{serverRun.c} }{\pageref{serverRun_8c}}{}
  19 +\item\contentsline{section}{server/\hyperlink{serverShutdown_8c}{serverShutdown.c} }{\pageref{serverShutdown_8c}}{}
  20 +\item\contentsline{section}{system/\hyperlink{daemonize_8c}{daemonize.c} }{\pageref{daemonize_8c}}{}
  21 +\item\contentsline{section}{system/\hyperlink{handleCmdLine_8c}{handleCmdLine.c} }{\pageref{handleCmdLine_8c}}{}
  22 +\item\contentsline{section}{system/\hyperlink{logRotate_8c}{logRotate.c} }{\pageref{logRotate_8c}}{}
  23 +\item\contentsline{section}{system/\hyperlink{monitor_8c}{monitor.c} }{\pageref{monitor_8c}}{}
  24 +\item\contentsline{section}{system/\hyperlink{signalHandling_8c}{signalHandling.c} }{\pageref{signalHandling_8c}}{}
  25 +\item\contentsline{section}{system/\hyperlink{socket_8c}{socket.c} }{\pageref{socket_8c}}{}
  26 +\end{CompactList}
... ...
  1 +\hypertarget{handleCmdLine_8c}{
  2 +\section{system/handleCmdLine.c File Reference}
  3 +\label{handleCmdLine_8c}\index{system/handleCmdLine.c@{system/handleCmdLine.c}}
  4 +}
  5 +{\tt \#include $<$unistd.h$>$}\par
  6 +{\tt \#include $<$stdlib.h$>$}\par
  7 +{\tt \#include $<$string.h$>$}\par
  8 +{\tt \#include $<$stdio.h$>$}\par
  9 +{\tt \#include \char`\"{}../include/appConfig.h\char`\"{}}\par
  10 +\subsection*{Functions}
  11 +\begin{CompactItemize}
  12 +\item
  13 +int \hyperlink{handleCmdLine_8c_3755d793d10d6e5793ed5086a0b22964}{handleCmdLine} (\hyperlink{structtAppConfig}{tAppConfig} $\ast$config, int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
  14 +\end{CompactItemize}
  15 +
  16 +
  17 +\subsection{Function Documentation}
  18 +\hypertarget{handleCmdLine_8c_3755d793d10d6e5793ed5086a0b22964}{
  19 +\index{handleCmdLine.c@{handleCmdLine.c}!handleCmdLine@{handleCmdLine}}
  20 +\index{handleCmdLine@{handleCmdLine}!handleCmdLine.c@{handleCmdLine.c}}
  21 +\subsubsection[{handleCmdLine}]{\setlength{\rightskip}{0pt plus 5cm}int handleCmdLine ({\bf tAppConfig} $\ast$ {\em config}, \/ int {\em argc}, \/ char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]})}}
  22 +\label{handleCmdLine_8c_3755d793d10d6e5793ed5086a0b22964}
  23 +
  24 +
  25 +
  26 +
  27 +Definition at line 10 of file handleCmdLine.c.
\ No newline at end of file
... ...
  1 +\hypertarget{httpRequest_8c}{
  2 +\section{reader/httpReader/httpRequest.c File Reference}
  3 +\label{httpRequest_8c}\index{reader/httpReader/httpRequest.c@{reader/httpReader/httpRequest.c}}
  4 +}
  5 +{\tt \#include $<$string.h$>$}\par
  6 +{\tt \#include $<$stdlib.h$>$}\par
  7 +{\tt \#include $<$stdio.h$>$}\par
  8 +{\tt \#include $<$ctype.h$>$}\par
  9 +{\tt \#include \char`\"{}../../include/appConfig.h\char`\"{}}\par
  10 +{\tt \#include \char`\"{}../../include/httpRequest.h\char`\"{}}\par
  11 +{\tt \#include \char`\"{}../../include/client.h\char`\"{}}\par
  12 +\subsection*{Defines}
  13 +\begin{CompactItemize}
  14 +\item
  15 +\#define \hyperlink{httpRequest_8c_5ff6e798033f03e74730e99f01936f84}{SPACE}~0x20
  16 +\end{CompactItemize}
  17 +\subsection*{Functions}
  18 +\begin{CompactItemize}
  19 +\item
  20 +int \hyperlink{httpRequest_8c_c96f6dae9ced89eb2ae8ac556918e367}{httpHeaderGetLine} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header, char $\ast$$\ast$buffer, unsigned int $\ast$readPos)
  21 +\item
  22 +void \hyperlink{httpRequest_8c_e18ae9e899c3c951308bb2ec4bd810f5}{httpHeaderParseRequestLine} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header, const char $\ast$line, unsigned int len)
  23 +\item
  24 +int \hyperlink{httpRequest_8c_d5d9232083e5890588d5e1840341a48b}{httpHeaderIsComplete} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header)
  25 +\item
  26 +unsigned char \hyperlink{httpRequest_8c_29982601e2121cd75800202f5716c7f5}{httpHeaderIsStarted} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header)
  27 +\item
  28 +int \hyperlink{httpRequest_8c_fd4f839160f6d97ad28e05ee1ce81188}{httpHeaderGet} (char $\ast$$\ast$buffer, unsigned int $\ast$readPos, \hyperlink{structtHttpHeader}{tHttpHeader} $\ast$request)
  29 +\item
  30 +int \hyperlink{httpRequest_8c_9a6b00ad980ca9a2c5023ec1a802106b}{getHttpRequest} (char $\ast$$\ast$buffer, unsigned int $\ast$readPos, \hyperlink{structtHttpRequest}{tHttpRequest} $\ast$request)
  31 +\item
  32 +void \hyperlink{httpRequest_8c_86d86da69aefe2067f750c80e626de7c}{freeHttpHeader} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header)
  33 +\item
  34 +void \hyperlink{httpRequest_8c_d1d9e65b1761d1d5f809314b4b05e772}{freeHttpRequest} (\hyperlink{structtHttpRequest}{tHttpRequest} $\ast$request)
  35 +\end{CompactItemize}
  36 +\subsection*{Variables}
  37 +\begin{CompactItemize}
  38 +\item
  39 +char \hyperlink{httpRequest_8c_e7110ef069c94769a78296dc38ab86ca}{httpRequest} \mbox{[}8\mbox{]}\mbox{[}8\mbox{]}
  40 +\end{CompactItemize}
  41 +
  42 +
  43 +\subsection{Define Documentation}
  44 +\hypertarget{httpRequest_8c_5ff6e798033f03e74730e99f01936f84}{
  45 +\index{httpRequest.c@{httpRequest.c}!SPACE@{SPACE}}
  46 +\index{SPACE@{SPACE}!httpRequest.c@{httpRequest.c}}
  47 +\subsubsection[{SPACE}]{\setlength{\rightskip}{0pt plus 5cm}\#define SPACE~0x20}}
  48 +\label{httpRequest_8c_5ff6e798033f03e74730e99f01936f84}
  49 +
  50 +
  51 +
  52 +
  53 +Definition at line 10 of file httpRequest.c.
  54 +
  55 +\subsection{Function Documentation}
  56 +\hypertarget{httpRequest_8c_86d86da69aefe2067f750c80e626de7c}{
  57 +\index{httpRequest.c@{httpRequest.c}!freeHttpHeader@{freeHttpHeader}}
  58 +\index{freeHttpHeader@{freeHttpHeader}!httpRequest.c@{httpRequest.c}}
  59 +\subsubsection[{freeHttpHeader}]{\setlength{\rightskip}{0pt plus 5cm}void freeHttpHeader ({\bf tHttpHeader} $\ast$ {\em header})}}
  60 +\label{httpRequest_8c_86d86da69aefe2067f750c80e626de7c}
  61 +
  62 +
  63 +
  64 +
  65 +Definition at line 187 of file httpRequest.c.\hypertarget{httpRequest_8c_d1d9e65b1761d1d5f809314b4b05e772}{
  66 +\index{httpRequest.c@{httpRequest.c}!freeHttpRequest@{freeHttpRequest}}
  67 +\index{freeHttpRequest@{freeHttpRequest}!httpRequest.c@{httpRequest.c}}
  68 +\subsubsection[{freeHttpRequest}]{\setlength{\rightskip}{0pt plus 5cm}void freeHttpRequest ({\bf tHttpRequest} $\ast$ {\em request})}}
  69 +\label{httpRequest_8c_d1d9e65b1761d1d5f809314b4b05e772}
  70 +
  71 +
  72 +
  73 +
  74 +Definition at line 217 of file httpRequest.c.\hypertarget{httpRequest_8c_9a6b00ad980ca9a2c5023ec1a802106b}{
  75 +\index{httpRequest.c@{httpRequest.c}!getHttpRequest@{getHttpRequest}}
  76 +\index{getHttpRequest@{getHttpRequest}!httpRequest.c@{httpRequest.c}}
  77 +\subsubsection[{getHttpRequest}]{\setlength{\rightskip}{0pt plus 5cm}int getHttpRequest (char $\ast$$\ast$ {\em buffer}, \/ unsigned int $\ast$ {\em readPos}, \/ {\bf tHttpRequest} $\ast$ {\em request})}}
  78 +\label{httpRequest_8c_9a6b00ad980ca9a2c5023ec1a802106b}
  79 +
  80 +
  81 +
  82 +
  83 +Definition at line 162 of file httpRequest.c.\hypertarget{httpRequest_8c_fd4f839160f6d97ad28e05ee1ce81188}{
  84 +\index{httpRequest.c@{httpRequest.c}!httpHeaderGet@{httpHeaderGet}}
  85 +\index{httpHeaderGet@{httpHeaderGet}!httpRequest.c@{httpRequest.c}}
  86 +\subsubsection[{httpHeaderGet}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderGet (char $\ast$$\ast$ {\em buffer}, \/ unsigned int $\ast$ {\em readPos}, \/ {\bf tHttpHeader} $\ast$ {\em request})}}
  87 +\label{httpRequest_8c_fd4f839160f6d97ad28e05ee1ce81188}
  88 +
  89 +
  90 +
  91 +
  92 +Definition at line 85 of file httpRequest.c.\hypertarget{httpRequest_8c_c96f6dae9ced89eb2ae8ac556918e367}{
  93 +\index{httpRequest.c@{httpRequest.c}!httpHeaderGetLine@{httpHeaderGetLine}}
  94 +\index{httpHeaderGetLine@{httpHeaderGetLine}!httpRequest.c@{httpRequest.c}}
  95 +\subsubsection[{httpHeaderGetLine}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderGetLine ({\bf tHttpHeader} $\ast$ {\em header}, \/ char $\ast$$\ast$ {\em buffer}, \/ unsigned int $\ast$ {\em readPos})}}
  96 +\label{httpRequest_8c_c96f6dae9ced89eb2ae8ac556918e367}
  97 +
  98 +
  99 +
  100 +
  101 +Definition at line 41 of file httpRequest.c.\hypertarget{httpRequest_8c_d5d9232083e5890588d5e1840341a48b}{
  102 +\index{httpRequest.c@{httpRequest.c}!httpHeaderIsComplete@{httpHeaderIsComplete}}
  103 +\index{httpHeaderIsComplete@{httpHeaderIsComplete}!httpRequest.c@{httpRequest.c}}
  104 +\subsubsection[{httpHeaderIsComplete}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderIsComplete ({\bf tHttpHeader} $\ast$ {\em header})}}
  105 +\label{httpRequest_8c_d5d9232083e5890588d5e1840341a48b}
  106 +
  107 +
  108 +
  109 +
  110 +Definition at line 52 of file httpRequest.c.\hypertarget{httpRequest_8c_29982601e2121cd75800202f5716c7f5}{
  111 +\index{httpRequest.c@{httpRequest.c}!httpHeaderIsStarted@{httpHeaderIsStarted}}
  112 +\index{httpHeaderIsStarted@{httpHeaderIsStarted}!httpRequest.c@{httpRequest.c}}
  113 +\subsubsection[{httpHeaderIsStarted}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char httpHeaderIsStarted ({\bf tHttpHeader} $\ast$ {\em header})}}
  114 +\label{httpRequest_8c_29982601e2121cd75800202f5716c7f5}
  115 +
  116 +
  117 +
  118 +
  119 +Definition at line 62 of file httpRequest.c.\hypertarget{httpRequest_8c_e18ae9e899c3c951308bb2ec4bd810f5}{
  120 +\index{httpRequest.c@{httpRequest.c}!httpHeaderParseRequestLine@{httpHeaderParseRequestLine}}
  121 +\index{httpHeaderParseRequestLine@{httpHeaderParseRequestLine}!httpRequest.c@{httpRequest.c}}
  122 +\subsubsection[{httpHeaderParseRequestLine}]{\setlength{\rightskip}{0pt plus 5cm}void httpHeaderParseRequestLine ({\bf tHttpHeader} $\ast$ {\em header}, \/ const char $\ast$ {\em line}, \/ unsigned int {\em len})}}
  123 +\label{httpRequest_8c_e18ae9e899c3c951308bb2ec4bd810f5}
  124 +
  125 +
  126 +
  127 +
  128 +Definition at line 47 of file httpRequest.c.
  129 +
  130 +\subsection{Variable Documentation}
  131 +\hypertarget{httpRequest_8c_e7110ef069c94769a78296dc38ab86ca}{
  132 +\index{httpRequest.c@{httpRequest.c}!httpRequest@{httpRequest}}
  133 +\index{httpRequest@{httpRequest}!httpRequest.c@{httpRequest.c}}
  134 +\subsubsection[{httpRequest}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf httpRequest}\mbox{[}8\mbox{]}\mbox{[}8\mbox{]}}}
  135 +\label{httpRequest_8c_e7110ef069c94769a78296dc38ab86ca}
  136 +
  137 +
  138 +\textbf{Initial value:}
  139 +
  140 +\begin{Code}\begin{verbatim} {
  141 + "OPTIONS",
  142 + "GET",
  143 + "HEAD",
  144 + "POST",
  145 + "PUT",
  146 + "DELETE",
  147 + "TRACE",
  148 + "CONNECT"
  149 +}
  150 +\end{verbatim}
  151 +\end{Code}
  152 +
  153 +
  154 +Definition at line 13 of file httpRequest.c.
\ No newline at end of file
... ...
  1 +\hypertarget{httpRequest_8h}{
  2 +\section{include/httpRequest.h File Reference}
  3 +\label{httpRequest_8h}\index{include/httpRequest.h@{include/httpRequest.h}}
  4 +}
  5 +\subsection*{Data Structures}
  6 +\begin{CompactItemize}
  7 +\item
  8 +struct \hyperlink{structtRequestLine}{tRequestLine}
  9 +\item
  10 +struct \hyperlink{structtHttpHeaderLine}{tHttpHeaderLine}
  11 +\item
  12 +struct \hyperlink{structtHttpHeader}{tHttpHeader}
  13 +\item
  14 +struct \hyperlink{structtHttpRequest}{tHttpRequest}
  15 +\end{CompactItemize}
  16 +\subsection*{Defines}
  17 +\begin{CompactItemize}
  18 +\item
  19 +\#define \hyperlink{httpRequest_8h_bcd1460716fe0d7d7bbfab4d8df7431b}{HTTP\_\-REQ\_\-OPTIONS}~0
  20 +\item
  21 +\#define \hyperlink{httpRequest_8h_783bb94ef6eee3041b08244fcf43304f}{HTTP\_\-REQ\_\-GET}~1
  22 +\item
  23 +\#define \hyperlink{httpRequest_8h_99dd5b1289103eee62ebd66082f03e98}{HTTP\_\-REQ\_\-HEAD}~2
  24 +\item
  25 +\#define \hyperlink{httpRequest_8h_b113eaf10da1f4291202f81bea630f5b}{HTTP\_\-REQ\_\-POST}~3
  26 +\item
  27 +\#define \hyperlink{httpRequest_8h_af09691edc99a286c60427e1f390d7bd}{HTTP\_\-REQ\_\-PUT}~4
  28 +\item
  29 +\#define \hyperlink{httpRequest_8h_2894c25df3d2e54885cc414aa9731811}{HTTP\_\-REQ\_\-DELETE}~5
  30 +\item
  31 +\#define \hyperlink{httpRequest_8h_21cd537dafe8cd458fbb1eeb1208f4a8}{HTTP\_\-REQ\_\-TRACE}~6
  32 +\item
  33 +\#define \hyperlink{httpRequest_8h_5e49980e0d7d4080e2cececd00796981}{HTTP\_\-REQ\_\-CONNECT}~7
  34 +\end{CompactItemize}
  35 +\subsection*{Functions}
  36 +\begin{CompactItemize}
  37 +\item
  38 +int \hyperlink{httpRequest_8h_59d765731e7d39f5583ef175950becb1}{getHttpRequest} (char $\ast$$\ast$, unsigned int $\ast$, \hyperlink{structtHttpRequest}{tHttpRequest} $\ast$)
  39 +\item
  40 +void \hyperlink{httpRequest_8h_1bba1865657c64c0e1971a45ee6117ab}{freeHttpRequest} (\hyperlink{structtHttpRequest}{tHttpRequest} $\ast$)
  41 +\item
  42 +void \hyperlink{httpRequest_8h_b55d3458cc9e50ef2a22731d910c6385}{freeHttpHeader} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$)
  43 +\item
  44 +unsigned char \hyperlink{httpRequest_8h_99eb3b2c1e06ee773fd3bb7da7e98ece}{httpHeaderIsStarted} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$)
  45 +\item
  46 +int \hyperlink{httpRequest_8h_91e1c62216e1370b68a87ffc8b120f0d}{httpHeaderIsComplete} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$)
  47 +\item
  48 +int \hyperlink{httpRequest_8h_07afde622816238d4424591269f5616a}{httpHeaderGet} (char $\ast$$\ast$, unsigned int $\ast$, \hyperlink{structtHttpHeader}{tHttpHeader} $\ast$)
  49 +\item
  50 +void \hyperlink{httpRequest_8h_b7ea84417c64cc894ef20f3fad58832f}{httpHeaderParseRequestLine} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$, const char $\ast$, unsigned int)
  51 +\end{CompactItemize}
  52 +\subsection*{Variables}
  53 +\begin{CompactItemize}
  54 +\item
  55 +char \hyperlink{httpRequest_8h_e7110ef069c94769a78296dc38ab86ca}{httpRequest} \mbox{[}8\mbox{]}\mbox{[}8\mbox{]}
  56 +\end{CompactItemize}
  57 +
  58 +
  59 +\subsection{Define Documentation}
  60 +\hypertarget{httpRequest_8h_5e49980e0d7d4080e2cececd00796981}{
  61 +\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-CONNECT@{HTTP\_\-REQ\_\-CONNECT}}
  62 +\index{HTTP\_\-REQ\_\-CONNECT@{HTTP\_\-REQ\_\-CONNECT}!httpRequest.h@{httpRequest.h}}
  63 +\subsubsection[{HTTP\_\-REQ\_\-CONNECT}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-CONNECT~7}}
  64 +\label{httpRequest_8h_5e49980e0d7d4080e2cececd00796981}
  65 +
  66 +
  67 +
  68 +
  69 +Definition at line 11 of file httpRequest.h.\hypertarget{httpRequest_8h_2894c25df3d2e54885cc414aa9731811}{
  70 +\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-DELETE@{HTTP\_\-REQ\_\-DELETE}}
  71 +\index{HTTP\_\-REQ\_\-DELETE@{HTTP\_\-REQ\_\-DELETE}!httpRequest.h@{httpRequest.h}}
  72 +\subsubsection[{HTTP\_\-REQ\_\-DELETE}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-DELETE~5}}
  73 +\label{httpRequest_8h_2894c25df3d2e54885cc414aa9731811}
  74 +
  75 +
  76 +
  77 +
  78 +Definition at line 9 of file httpRequest.h.\hypertarget{httpRequest_8h_783bb94ef6eee3041b08244fcf43304f}{
  79 +\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-GET@{HTTP\_\-REQ\_\-GET}}
  80 +\index{HTTP\_\-REQ\_\-GET@{HTTP\_\-REQ\_\-GET}!httpRequest.h@{httpRequest.h}}
  81 +\subsubsection[{HTTP\_\-REQ\_\-GET}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-GET~1}}
  82 +\label{httpRequest_8h_783bb94ef6eee3041b08244fcf43304f}
  83 +
  84 +
  85 +
  86 +
  87 +Definition at line 5 of file httpRequest.h.\hypertarget{httpRequest_8h_99dd5b1289103eee62ebd66082f03e98}{
  88 +\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-HEAD@{HTTP\_\-REQ\_\-HEAD}}
  89 +\index{HTTP\_\-REQ\_\-HEAD@{HTTP\_\-REQ\_\-HEAD}!httpRequest.h@{httpRequest.h}}
  90 +\subsubsection[{HTTP\_\-REQ\_\-HEAD}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-HEAD~2}}
  91 +\label{httpRequest_8h_99dd5b1289103eee62ebd66082f03e98}
  92 +
  93 +
  94 +
  95 +
  96 +Definition at line 6 of file httpRequest.h.\hypertarget{httpRequest_8h_bcd1460716fe0d7d7bbfab4d8df7431b}{
  97 +\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-OPTIONS@{HTTP\_\-REQ\_\-OPTIONS}}
  98 +\index{HTTP\_\-REQ\_\-OPTIONS@{HTTP\_\-REQ\_\-OPTIONS}!httpRequest.h@{httpRequest.h}}
  99 +\subsubsection[{HTTP\_\-REQ\_\-OPTIONS}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-OPTIONS~0}}
  100 +\label{httpRequest_8h_bcd1460716fe0d7d7bbfab4d8df7431b}
  101 +
  102 +
  103 +
  104 +
  105 +Definition at line 4 of file httpRequest.h.\hypertarget{httpRequest_8h_b113eaf10da1f4291202f81bea630f5b}{
  106 +\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-POST@{HTTP\_\-REQ\_\-POST}}
  107 +\index{HTTP\_\-REQ\_\-POST@{HTTP\_\-REQ\_\-POST}!httpRequest.h@{httpRequest.h}}
  108 +\subsubsection[{HTTP\_\-REQ\_\-POST}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-POST~3}}
  109 +\label{httpRequest_8h_b113eaf10da1f4291202f81bea630f5b}
  110 +
  111 +
  112 +
  113 +
  114 +Definition at line 7 of file httpRequest.h.\hypertarget{httpRequest_8h_af09691edc99a286c60427e1f390d7bd}{
  115 +\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-PUT@{HTTP\_\-REQ\_\-PUT}}
  116 +\index{HTTP\_\-REQ\_\-PUT@{HTTP\_\-REQ\_\-PUT}!httpRequest.h@{httpRequest.h}}
  117 +\subsubsection[{HTTP\_\-REQ\_\-PUT}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-PUT~4}}
  118 +\label{httpRequest_8h_af09691edc99a286c60427e1f390d7bd}
  119 +
  120 +
  121 +
  122 +
  123 +Definition at line 8 of file httpRequest.h.\hypertarget{httpRequest_8h_21cd537dafe8cd458fbb1eeb1208f4a8}{
  124 +\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-TRACE@{HTTP\_\-REQ\_\-TRACE}}
  125 +\index{HTTP\_\-REQ\_\-TRACE@{HTTP\_\-REQ\_\-TRACE}!httpRequest.h@{httpRequest.h}}
  126 +\subsubsection[{HTTP\_\-REQ\_\-TRACE}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-TRACE~6}}
  127 +\label{httpRequest_8h_21cd537dafe8cd458fbb1eeb1208f4a8}
  128 +
  129 +
  130 +
  131 +
  132 +Definition at line 10 of file httpRequest.h.
  133 +
  134 +\subsection{Function Documentation}
  135 +\hypertarget{httpRequest_8h_b55d3458cc9e50ef2a22731d910c6385}{
  136 +\index{httpRequest.h@{httpRequest.h}!freeHttpHeader@{freeHttpHeader}}
  137 +\index{freeHttpHeader@{freeHttpHeader}!httpRequest.h@{httpRequest.h}}
  138 +\subsubsection[{freeHttpHeader}]{\setlength{\rightskip}{0pt plus 5cm}void freeHttpHeader ({\bf tHttpHeader} $\ast$)}}
  139 +\label{httpRequest_8h_b55d3458cc9e50ef2a22731d910c6385}
  140 +
  141 +
  142 +
  143 +
  144 +Definition at line 187 of file httpRequest.c.\hypertarget{httpRequest_8h_1bba1865657c64c0e1971a45ee6117ab}{
  145 +\index{httpRequest.h@{httpRequest.h}!freeHttpRequest@{freeHttpRequest}}
  146 +\index{freeHttpRequest@{freeHttpRequest}!httpRequest.h@{httpRequest.h}}
  147 +\subsubsection[{freeHttpRequest}]{\setlength{\rightskip}{0pt plus 5cm}void freeHttpRequest ({\bf tHttpRequest} $\ast$)}}
  148 +\label{httpRequest_8h_1bba1865657c64c0e1971a45ee6117ab}
  149 +
  150 +
  151 +
  152 +
  153 +Definition at line 217 of file httpRequest.c.\hypertarget{httpRequest_8h_59d765731e7d39f5583ef175950becb1}{
  154 +\index{httpRequest.h@{httpRequest.h}!getHttpRequest@{getHttpRequest}}
  155 +\index{getHttpRequest@{getHttpRequest}!httpRequest.h@{httpRequest.h}}
  156 +\subsubsection[{getHttpRequest}]{\setlength{\rightskip}{0pt plus 5cm}int getHttpRequest (char $\ast$$\ast$, \/ unsigned int $\ast$, \/ {\bf tHttpRequest} $\ast$)}}
  157 +\label{httpRequest_8h_59d765731e7d39f5583ef175950becb1}
  158 +
  159 +
  160 +
  161 +
  162 +Definition at line 162 of file httpRequest.c.\hypertarget{httpRequest_8h_07afde622816238d4424591269f5616a}{
  163 +\index{httpRequest.h@{httpRequest.h}!httpHeaderGet@{httpHeaderGet}}
  164 +\index{httpHeaderGet@{httpHeaderGet}!httpRequest.h@{httpRequest.h}}
  165 +\subsubsection[{httpHeaderGet}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderGet (char $\ast$$\ast$, \/ unsigned int $\ast$, \/ {\bf tHttpHeader} $\ast$)}}
  166 +\label{httpRequest_8h_07afde622816238d4424591269f5616a}
  167 +
  168 +
  169 +
  170 +
  171 +Definition at line 85 of file httpRequest.c.\hypertarget{httpRequest_8h_91e1c62216e1370b68a87ffc8b120f0d}{
  172 +\index{httpRequest.h@{httpRequest.h}!httpHeaderIsComplete@{httpHeaderIsComplete}}
  173 +\index{httpHeaderIsComplete@{httpHeaderIsComplete}!httpRequest.h@{httpRequest.h}}
  174 +\subsubsection[{httpHeaderIsComplete}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderIsComplete ({\bf tHttpHeader} $\ast$)}}
  175 +\label{httpRequest_8h_91e1c62216e1370b68a87ffc8b120f0d}
  176 +
  177 +
  178 +
  179 +
  180 +Definition at line 52 of file httpRequest.c.\hypertarget{httpRequest_8h_99eb3b2c1e06ee773fd3bb7da7e98ece}{
  181 +\index{httpRequest.h@{httpRequest.h}!httpHeaderIsStarted@{httpHeaderIsStarted}}
  182 +\index{httpHeaderIsStarted@{httpHeaderIsStarted}!httpRequest.h@{httpRequest.h}}
  183 +\subsubsection[{httpHeaderIsStarted}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char httpHeaderIsStarted ({\bf tHttpHeader} $\ast$)}}
  184 +\label{httpRequest_8h_99eb3b2c1e06ee773fd3bb7da7e98ece}
  185 +
  186 +
  187 +
  188 +
  189 +Definition at line 62 of file httpRequest.c.\hypertarget{httpRequest_8h_b7ea84417c64cc894ef20f3fad58832f}{
  190 +\index{httpRequest.h@{httpRequest.h}!httpHeaderParseRequestLine@{httpHeaderParseRequestLine}}
  191 +\index{httpHeaderParseRequestLine@{httpHeaderParseRequestLine}!httpRequest.h@{httpRequest.h}}
  192 +\subsubsection[{httpHeaderParseRequestLine}]{\setlength{\rightskip}{0pt plus 5cm}void httpHeaderParseRequestLine ({\bf tHttpHeader} $\ast$, \/ const char $\ast$, \/ unsigned {\em int})}}
  193 +\label{httpRequest_8h_b7ea84417c64cc894ef20f3fad58832f}
  194 +
  195 +
  196 +
  197 +
  198 +Definition at line 47 of file httpRequest.c.
  199 +
  200 +\subsection{Variable Documentation}
  201 +\hypertarget{httpRequest_8h_e7110ef069c94769a78296dc38ab86ca}{
  202 +\index{httpRequest.h@{httpRequest.h}!httpRequest@{httpRequest}}
  203 +\index{httpRequest@{httpRequest}!httpRequest.h@{httpRequest.h}}
  204 +\subsubsection[{httpRequest}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf httpRequest}\mbox{[}8\mbox{]}\mbox{[}8\mbox{]}}}
  205 +\label{httpRequest_8h_e7110ef069c94769a78296dc38ab86ca}
  206 +
  207 +
  208 +
  209 +
  210 +Definition at line 13 of file httpRequest.c.
\ No newline at end of file
... ...
  1 +\hypertarget{logRotate_8c}{
  2 +\section{system/logRotate.c File Reference}
  3 +\label{logRotate_8c}\index{system/logRotate.c@{system/logRotate.c}}
  4 +}
  5 +{\tt \#include $<$sys/select.h$>$}\par
  6 +{\tt \#include $<$time.h$>$}\par
  7 +{\tt \#include $<$unistd.h$>$}\par
  8 +{\tt \#include $<$sys/types.h$>$}\par
  9 +{\tt \#include $<$sys/wait.h$>$}\par
  10 +{\tt \#include $<$stdio.h$>$}\par
  11 +{\tt \#include $<$stdlib.h$>$}\par
  12 +{\tt \#include $<$string.h$>$}\par
  13 +{\tt \#include $<$syslog.h$>$}\par
  14 +{\tt \#include $<$errno.h$>$}\par
  15 +{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
  16 +\subsection*{Functions}
  17 +\begin{CompactItemize}
  18 +\item
  19 +void \hyperlink{logRotate_8c_70a3ebded819019c99ad001f29e082de}{logRotate} (FILE $\ast$$\ast$handle, char $\ast$path, char $\ast$pattern)
  20 +\end{CompactItemize}
  21 +\subsection*{Variables}
  22 +\begin{CompactItemize}
  23 +\item
  24 +int \hyperlink{logRotate_8c_0b2caeb4b6f130be43e5a2f0267dd453}{verbose}
  25 +\end{CompactItemize}
  26 +
  27 +
  28 +\subsection{Function Documentation}
  29 +\hypertarget{logRotate_8c_70a3ebded819019c99ad001f29e082de}{
  30 +\index{logRotate.c@{logRotate.c}!logRotate@{logRotate}}
  31 +\index{logRotate@{logRotate}!logRotate.c@{logRotate.c}}
  32 +\subsubsection[{logRotate}]{\setlength{\rightskip}{0pt plus 5cm}void logRotate (FILE $\ast$$\ast$ {\em handle}, \/ char $\ast$ {\em path}, \/ char $\ast$ {\em pattern})}}
  33 +\label{logRotate_8c_70a3ebded819019c99ad001f29e082de}
  34 +
  35 +
  36 +
  37 +
  38 +Definition at line 17 of file logRotate.c.
  39 +
  40 +\subsection{Variable Documentation}
  41 +\hypertarget{logRotate_8c_0b2caeb4b6f130be43e5a2f0267dd453}{
  42 +\index{logRotate.c@{logRotate.c}!verbose@{verbose}}
  43 +\index{verbose@{verbose}!logRotate.c@{logRotate.c}}
  44 +\subsubsection[{verbose}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf verbose}}}
  45 +\label{logRotate_8c_0b2caeb4b6f130be43e5a2f0267dd453}
  46 +
  47 +
... ...
  1 +\hypertarget{logRotate_8h}{
  2 +\section{include/logRotate.h File Reference}
  3 +\label{logRotate_8h}\index{include/logRotate.h@{include/logRotate.h}}
  4 +}
  5 +\subsection*{Functions}
  6 +\begin{CompactItemize}
  7 +\item
  8 +void \hyperlink{logRotate_8h_82df920a9975d5484d681c6f9009da38}{logRotate} (FILE $\ast$$\ast$handle, char $\ast$logPath, char $\ast$logNamePattern)
  9 +\end{CompactItemize}
  10 +
  11 +
  12 +\subsection{Function Documentation}
  13 +\hypertarget{logRotate_8h_82df920a9975d5484d681c6f9009da38}{
  14 +\index{logRotate.h@{logRotate.h}!logRotate@{logRotate}}
  15 +\index{logRotate@{logRotate}!logRotate.h@{logRotate.h}}
  16 +\subsubsection[{logRotate}]{\setlength{\rightskip}{0pt plus 5cm}void logRotate (FILE $\ast$$\ast$ {\em handle}, \/ char $\ast$ {\em logPath}, \/ char $\ast$ {\em logNamePattern})}}
  17 +\label{logRotate_8h_82df920a9975d5484d681c6f9009da38}
  18 +
  19 +
  20 +
  21 +
  22 +Definition at line 17 of file logRotate.c.
\ No newline at end of file
... ...
  1 +\hypertarget{monitor_8c}{
  2 +\section{system/monitor.c File Reference}
  3 +\label{monitor_8c}\index{system/monitor.c@{system/monitor.c}}
  4 +}
  5 +{\tt \#include $<$stdlib.h$>$}\par
  6 +{\tt \#include $<$sys/wait.h$>$}\par
  7 +{\tt \#include $<$stdio.h$>$}\par
  8 +{\tt \#include $<$string.h$>$}\par
  9 +{\tt \#include $<$errno.h$>$}\par
  10 +{\tt \#include $<$signal.h$>$}\par
  11 +{\tt \#include $<$stdarg.h$>$}\par
  12 +{\tt \#include \char`\"{}../include/signalHandling.h\char`\"{}}\par
  13 +{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
  14 +\subsection*{Defines}
  15 +\begin{CompactItemize}
  16 +\item
  17 +\#define \hyperlink{monitor_8c_d2e5f556fda8453832fa6b5f7c92bc85}{MONITORCMD}~\char`\"{}/usr/bin/monitor\char`\"{}
  18 +\item
  19 +\#define \hyperlink{monitor_8c_630eb7604f0fe1161c6165cec5200b3d}{MONITORTYPE}~\char`\"{}test\char`\"{}
  20 +\item
  21 +\#define \hyperlink{monitor_8c_d79291fa6d09c30b5ad1c10c8a5d647f}{MONITORNAME}~\char`\"{}virtualitemlogreceiver\char`\"{}
  22 +\end{CompactItemize}
  23 +\subsection*{Functions}
  24 +\begin{CompactItemize}
  25 +\item
  26 +int \hyperlink{monitor_8c_afab1757e8c3bc9c5143490b256cb684}{monitor} (unsigned int sev, const char $\ast$pattern, const char $\ast$message)
  27 +\item
  28 +int \hyperlink{monitor_8c_13e7bf0022db0d9f5dd6aeb82ec69999}{syslogMonitor} (unsigned int logLvl, unsigned int sev, const char $\ast$pattern, const char $\ast$message,...)
  29 +\end{CompactItemize}
  30 +\subsection*{Variables}
  31 +\begin{CompactItemize}
  32 +\item
  33 +const char \hyperlink{monitor_8c_8142dc3c72610140dfcacc52de5881fd}{severity} \mbox{[}$\,$\mbox{]}\mbox{[}10\mbox{]}
  34 +\end{CompactItemize}
  35 +
  36 +
  37 +\subsection{Define Documentation}
  38 +\hypertarget{monitor_8c_d2e5f556fda8453832fa6b5f7c92bc85}{
  39 +\index{monitor.c@{monitor.c}!MONITORCMD@{MONITORCMD}}
  40 +\index{MONITORCMD@{MONITORCMD}!monitor.c@{monitor.c}}
  41 +\subsubsection[{MONITORCMD}]{\setlength{\rightskip}{0pt plus 5cm}\#define MONITORCMD~\char`\"{}/usr/bin/monitor\char`\"{}}}
  42 +\label{monitor_8c_d2e5f556fda8453832fa6b5f7c92bc85}
  43 +
  44 +
  45 +
  46 +
  47 +Definition at line 13 of file monitor.c.\hypertarget{monitor_8c_d79291fa6d09c30b5ad1c10c8a5d647f}{
  48 +\index{monitor.c@{monitor.c}!MONITORNAME@{MONITORNAME}}
  49 +\index{MONITORNAME@{MONITORNAME}!monitor.c@{monitor.c}}
  50 +\subsubsection[{MONITORNAME}]{\setlength{\rightskip}{0pt plus 5cm}\#define MONITORNAME~\char`\"{}virtualitemlogreceiver\char`\"{}}}
  51 +\label{monitor_8c_d79291fa6d09c30b5ad1c10c8a5d647f}
  52 +
  53 +
  54 +
  55 +
  56 +Definition at line 15 of file monitor.c.\hypertarget{monitor_8c_630eb7604f0fe1161c6165cec5200b3d}{
  57 +\index{monitor.c@{monitor.c}!MONITORTYPE@{MONITORTYPE}}
  58 +\index{MONITORTYPE@{MONITORTYPE}!monitor.c@{monitor.c}}
  59 +\subsubsection[{MONITORTYPE}]{\setlength{\rightskip}{0pt plus 5cm}\#define MONITORTYPE~\char`\"{}test\char`\"{}}}
  60 +\label{monitor_8c_630eb7604f0fe1161c6165cec5200b3d}
  61 +
  62 +
  63 +
  64 +
  65 +Definition at line 14 of file monitor.c.
  66 +
  67 +\subsection{Function Documentation}
  68 +\hypertarget{monitor_8c_afab1757e8c3bc9c5143490b256cb684}{
  69 +\index{monitor.c@{monitor.c}!monitor@{monitor}}
  70 +\index{monitor@{monitor}!monitor.c@{monitor.c}}
  71 +\subsubsection[{monitor}]{\setlength{\rightskip}{0pt plus 5cm}int monitor (unsigned int {\em sev}, \/ const char $\ast$ {\em pattern}, \/ const char $\ast$ {\em message})}}
  72 +\label{monitor_8c_afab1757e8c3bc9c5143490b256cb684}
  73 +
  74 +
  75 +
  76 +
  77 +Definition at line 26 of file monitor.c.\hypertarget{monitor_8c_13e7bf0022db0d9f5dd6aeb82ec69999}{
  78 +\index{monitor.c@{monitor.c}!syslogMonitor@{syslogMonitor}}
  79 +\index{syslogMonitor@{syslogMonitor}!monitor.c@{monitor.c}}
  80 +\subsubsection[{syslogMonitor}]{\setlength{\rightskip}{0pt plus 5cm}int syslogMonitor (unsigned int {\em logLvl}, \/ unsigned int {\em sev}, \/ const char $\ast$ {\em pattern}, \/ const char $\ast$ {\em message}, \/ {\em ...})}}
  81 +\label{monitor_8c_13e7bf0022db0d9f5dd6aeb82ec69999}
  82 +
  83 +
  84 +
  85 +
  86 +Definition at line 66 of file monitor.c.
  87 +
  88 +\subsection{Variable Documentation}
  89 +\hypertarget{monitor_8c_8142dc3c72610140dfcacc52de5881fd}{
  90 +\index{monitor.c@{monitor.c}!severity@{severity}}
  91 +\index{severity@{severity}!monitor.c@{monitor.c}}
  92 +\subsubsection[{severity}]{\setlength{\rightskip}{0pt plus 5cm}const char {\bf severity}\mbox{[}$\,$\mbox{]}\mbox{[}10\mbox{]}}}
  93 +\label{monitor_8c_8142dc3c72610140dfcacc52de5881fd}
  94 +
  95 +
  96 +\textbf{Initial value:}
  97 +
  98 +\begin{Code}\begin{verbatim} {
  99 + "info",
  100 + "warning",
  101 + "critical",
  102 + "failure"
  103 +}
  104 +\end{verbatim}
  105 +\end{Code}
  106 +
  107 +
  108 +Definition at line 17 of file monitor.c.
\ No newline at end of file
... ...
  1 +\hypertarget{monitor_8h}{
  2 +\section{include/monitor.h File Reference}
  3 +\label{monitor_8h}\index{include/monitor.h@{include/monitor.h}}
  4 +}
  5 +{\tt \#include $<$syslog.h$>$}\par
  6 +\subsection*{Defines}
  7 +\begin{CompactItemize}
  8 +\item
  9 +\#define \hyperlink{monitor_8h_d702c7f3311c0b76ee05d7efd27c87b2}{MON\_\-INFO}~0
  10 +\item
  11 +\#define \hyperlink{monitor_8h_8eabf82310c059cc80dceaa533a74182}{MON\_\-WARNING}~1
  12 +\item
  13 +\#define \hyperlink{monitor_8h_b11b9abcce9ac28426ff81c206e28fc8}{MON\_\-CRITICAL}~2
  14 +\item
  15 +\#define \hyperlink{monitor_8h_c41f84ee1d999369a9496a2c49c4181c}{MON\_\-FAILURE}~3
  16 +\end{CompactItemize}
  17 +\subsection*{Functions}
  18 +\begin{CompactItemize}
  19 +\item
  20 +int \hyperlink{monitor_8h_afab1757e8c3bc9c5143490b256cb684}{monitor} (unsigned int sev, const char $\ast$pattern, const char $\ast$message)
  21 +\item
  22 +int \hyperlink{monitor_8h_5d332cf84a9d6dd9c77382a74960cccf}{syslogMonitor} (unsigned int logLvl, unsigned int sev, const char $\ast$pattern, const char $\ast$message,...) \_\-\_\-attribute\_\-\_\-((format(printf
  23 +\end{CompactItemize}
  24 +
  25 +
  26 +\subsection{Define Documentation}
  27 +\hypertarget{monitor_8h_b11b9abcce9ac28426ff81c206e28fc8}{
  28 +\index{monitor.h@{monitor.h}!MON\_\-CRITICAL@{MON\_\-CRITICAL}}
  29 +\index{MON\_\-CRITICAL@{MON\_\-CRITICAL}!monitor.h@{monitor.h}}
  30 +\subsubsection[{MON\_\-CRITICAL}]{\setlength{\rightskip}{0pt plus 5cm}\#define MON\_\-CRITICAL~2}}
  31 +\label{monitor_8h_b11b9abcce9ac28426ff81c206e28fc8}
  32 +
  33 +
  34 +
  35 +
  36 +Definition at line 8 of file monitor.h.\hypertarget{monitor_8h_c41f84ee1d999369a9496a2c49c4181c}{
  37 +\index{monitor.h@{monitor.h}!MON\_\-FAILURE@{MON\_\-FAILURE}}
  38 +\index{MON\_\-FAILURE@{MON\_\-FAILURE}!monitor.h@{monitor.h}}
  39 +\subsubsection[{MON\_\-FAILURE}]{\setlength{\rightskip}{0pt plus 5cm}\#define MON\_\-FAILURE~3}}
  40 +\label{monitor_8h_c41f84ee1d999369a9496a2c49c4181c}
  41 +
  42 +
  43 +
  44 +
  45 +Definition at line 9 of file monitor.h.\hypertarget{monitor_8h_d702c7f3311c0b76ee05d7efd27c87b2}{
  46 +\index{monitor.h@{monitor.h}!MON\_\-INFO@{MON\_\-INFO}}
  47 +\index{MON\_\-INFO@{MON\_\-INFO}!monitor.h@{monitor.h}}
  48 +\subsubsection[{MON\_\-INFO}]{\setlength{\rightskip}{0pt plus 5cm}\#define MON\_\-INFO~0}}
  49 +\label{monitor_8h_d702c7f3311c0b76ee05d7efd27c87b2}
  50 +
  51 +
  52 +
  53 +
  54 +Definition at line 6 of file monitor.h.\hypertarget{monitor_8h_8eabf82310c059cc80dceaa533a74182}{
  55 +\index{monitor.h@{monitor.h}!MON\_\-WARNING@{MON\_\-WARNING}}
  56 +\index{MON\_\-WARNING@{MON\_\-WARNING}!monitor.h@{monitor.h}}
  57 +\subsubsection[{MON\_\-WARNING}]{\setlength{\rightskip}{0pt plus 5cm}\#define MON\_\-WARNING~1}}
  58 +\label{monitor_8h_8eabf82310c059cc80dceaa533a74182}
  59 +
  60 +
  61 +
  62 +
  63 +Definition at line 7 of file monitor.h.
  64 +
  65 +\subsection{Function Documentation}
  66 +\hypertarget{monitor_8h_afab1757e8c3bc9c5143490b256cb684}{
  67 +\index{monitor.h@{monitor.h}!monitor@{monitor}}
  68 +\index{monitor@{monitor}!monitor.h@{monitor.h}}
  69 +\subsubsection[{monitor}]{\setlength{\rightskip}{0pt plus 5cm}int monitor (unsigned int {\em sev}, \/ const char $\ast$ {\em pattern}, \/ const char $\ast$ {\em message})}}
  70 +\label{monitor_8h_afab1757e8c3bc9c5143490b256cb684}
  71 +
  72 +
  73 +
  74 +
  75 +Definition at line 26 of file monitor.c.\hypertarget{monitor_8h_5d332cf84a9d6dd9c77382a74960cccf}{
  76 +\index{monitor.h@{monitor.h}!syslogMonitor@{syslogMonitor}}
  77 +\index{syslogMonitor@{syslogMonitor}!monitor.h@{monitor.h}}
  78 +\subsubsection[{syslogMonitor}]{\setlength{\rightskip}{0pt plus 5cm}int syslogMonitor (unsigned int {\em logLvl}, \/ unsigned int {\em sev}, \/ const char $\ast$ {\em pattern}, \/ const char $\ast$ {\em message}, \/ {\em ...})}}
  79 +\label{monitor_8h_5d332cf84a9d6dd9c77382a74960cccf}
  80 +
  81 +
... ...
  1 +\documentclass[a4paper]{book}
  2 +\usepackage{a4wide}
  3 +\usepackage{makeidx}
  4 +\usepackage{fancyhdr}
  5 +\usepackage{graphicx}
  6 +\usepackage{multicol}
  7 +\usepackage{float}
  8 +\usepackage{textcomp}
  9 +\usepackage{alltt}
  10 +\usepackage{times}
  11 +\usepackage{ifpdf}
  12 +\ifpdf
  13 +\usepackage[pdftex,
  14 + pagebackref=true,
  15 + colorlinks=true,
  16 + linkcolor=blue,
  17 + unicode
  18 + ]{hyperref}
  19 +\else
  20 +\usepackage[ps2pdf,
  21 + pagebackref=true,
  22 + colorlinks=true,
  23 + linkcolor=blue,
  24 + unicode
  25 + ]{hyperref}
  26 +\usepackage{pspicture}
  27 +\fi
  28 +\usepackage[utf8]{inputenc}
  29 +\usepackage{doxygen}
  30 +\makeindex
  31 +\setcounter{tocdepth}{3}
  32 +\renewcommand{\footrulewidth}{0.4pt}
  33 +\begin{document}
  34 +\begin{titlepage}
  35 +\vspace*{7cm}
  36 +\begin{center}
  37 +{\Large xmlrpc \\[1ex]\large 0.0.1 }\\
  38 +\vspace*{1cm}
  39 +{\large Generated by Doxygen 1.5.8}\\
  40 +\vspace*{0.5cm}
  41 +{\small Sun Oct 10 01:24:35 2010}\\
  42 +\end{center}
  43 +\end{titlepage}
  44 +\clearemptydoublepage
  45 +\pagenumbering{roman}
  46 +\tableofcontents
  47 +\clearemptydoublepage
  48 +\pagenumbering{arabic}
  49 +\chapter{Data Structure Index}
  50 +\input{annotated}
  51 +\chapter{File Index}
  52 +\input{files}
  53 +\chapter{Data Structure Documentation}
  54 +\input{structtAppConfig}
  55 +\include{structtClient}
  56 +\include{structtHttpHeader}
  57 +\include{structtHttpHeaderLine}
  58 +\include{structtHttpRequest}
  59 +\include{structtRequestLine}
  60 +\include{structtServer}
  61 +\chapter{File Documentation}
  62 +\input{appConfig_8h}
  63 +\include{client_8h}
  64 +\include{daemonize_8h}
  65 +\include{httpRequest_8h}
  66 +\include{logRotate_8h}
  67 +\include{monitor_8h}
  68 +\include{server_8h}
  69 +\include{signalHandling_8h}
  70 +\include{socket_8h}
  71 +\include{writeBuffer_8h}
  72 +\include{clientClose_8c}
  73 +\include{clientRead_8c}
  74 +\include{writeBuffer_8c}
  75 +\include{httpRequest_8c}
  76 +\include{serverInit_8c}
  77 +\include{serverRun_8c}
  78 +\include{serverShutdown_8c}
  79 +\include{daemonize_8c}
  80 +\include{handleCmdLine_8c}
  81 +\include{logRotate_8c}
  82 +\include{monitor_8c}
  83 +\include{signalHandling_8c}
  84 +\include{socket_8c}
  85 +\printindex
  86 +\end{document}
... ...
  1 +\hypertarget{serverInit_8c}{
  2 +\section{server/serverInit.c File Reference}
  3 +\label{serverInit_8c}\index{server/serverInit.c@{server/serverInit.c}}
  4 +}
  5 +{\tt \#include $<$sys/select.h$>$}\par
  6 +{\tt \#include $<$string.h$>$}\par
  7 +{\tt \#include $<$stdlib.h$>$}\par
  8 +{\tt \#include \char`\"{}../include/server.h\char`\"{}}\par
  9 +{\tt \#include \char`\"{}../include/socket.h\char`\"{}}\par
  10 +{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
  11 +{\tt \#include \char`\"{}../include/logRotate.h\char`\"{}}\par
  12 +\subsection*{Functions}
  13 +\begin{CompactItemize}
  14 +\item
  15 +void \hyperlink{serverInit_8c_68050069ed3a2e05cb02440090c89a1f}{serverInit} (\hyperlink{structtServer}{tServer} $\ast$server, unsigned int port, unsigned int pending, const char $\ast$logPath, const char $\ast$namePat)
  16 +\end{CompactItemize}
  17 +
  18 +
  19 +\subsection{Function Documentation}
  20 +\hypertarget{serverInit_8c_68050069ed3a2e05cb02440090c89a1f}{
  21 +\index{serverInit.c@{serverInit.c}!serverInit@{serverInit}}
  22 +\index{serverInit@{serverInit}!serverInit.c@{serverInit.c}}
  23 +\subsubsection[{serverInit}]{\setlength{\rightskip}{0pt plus 5cm}void serverInit ({\bf tServer} $\ast$ {\em server}, \/ unsigned int {\em port}, \/ unsigned int {\em pending}, \/ const char $\ast$ {\em logPath}, \/ const char $\ast$ {\em namePat})}}
  24 +\label{serverInit_8c_68050069ed3a2e05cb02440090c89a1f}
  25 +
  26 +
  27 +
  28 +
  29 +Definition at line 11 of file serverInit.c.
\ No newline at end of file
... ...
  1 +\hypertarget{serverRun_8c}{
  2 +\section{server/serverRun.c File Reference}
  3 +\label{serverRun_8c}\index{server/serverRun.c@{server/serverRun.c}}
  4 +}
  5 +{\tt \#include $<$sys/select.h$>$}\par
  6 +{\tt \#include $<$string.h$>$}\par
  7 +{\tt \#include $<$stdlib.h$>$}\par
  8 +{\tt \#include $<$errno.h$>$}\par
  9 +{\tt \#include $<$unistd.h$>$}\par
  10 +{\tt \#include $<$expat.h$>$}\par
  11 +{\tt \#include \char`\"{}../include/appConfig.h\char`\"{}}\par
  12 +{\tt \#include \char`\"{}../include/server.h\char`\"{}}\par
  13 +{\tt \#include \char`\"{}../include/client.h\char`\"{}}\par
  14 +{\tt \#include \char`\"{}../include/socket.h\char`\"{}}\par
  15 +{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
  16 +{\tt \#include \char`\"{}../include/logRotate.h\char`\"{}}\par
  17 +{\tt \#include \char`\"{}../include/signalHandling.h\char`\"{}}\par
  18 +{\tt \#include \char`\"{}../include/httpRequest.h\char`\"{}}\par
  19 +\subsection*{Defines}
  20 +\begin{CompactItemize}
  21 +\item
  22 +\#define \hyperlink{serverRun_8c_98a2366f9ef44f0d3eee7d33981bbe8a}{RESPONSE}~\char`\"{} 200 OK$\backslash$r$\backslash$nServer: xmlrpc$\backslash$r$\backslash$nStatus: 200$\backslash$r$\backslash$nContent-Length: 10$\backslash$r$\backslash$nContent-Type: text/plain$\backslash$r$\backslash$n$\backslash$r$\backslash$n0123456789\char`\"{}
  23 +\end{CompactItemize}
  24 +\subsection*{Functions}
  25 +\begin{CompactItemize}
  26 +\item
  27 +void XMLCALL \hyperlink{serverRun_8c_73425567b97c64e9af77c626e0069f67}{start} (void $\ast$data, const char $\ast$el, const char $\ast$$\ast$attr)
  28 +\item
  29 +void XMLCALL \hyperlink{serverRun_8c_1e60190f250d3f699f3671c759e6fe36}{end} (void $\ast$data, const char $\ast$el)
  30 +\item
  31 +void \hyperlink{serverRun_8c_208ea34b5a69f6ff0d48ed85c9a6f9eb}{serverRun} (\hyperlink{structtServer}{tServer} $\ast$server)
  32 +\end{CompactItemize}
  33 +\subsection*{Variables}
  34 +\begin{CompactItemize}
  35 +\item
  36 +int \hyperlink{serverRun_8c_c66dbe0e082fd3cc29bc1572a4dccc09}{Depth}
  37 +\end{CompactItemize}
  38 +
  39 +
  40 +\subsection{Define Documentation}
  41 +\hypertarget{serverRun_8c_98a2366f9ef44f0d3eee7d33981bbe8a}{
  42 +\index{serverRun.c@{serverRun.c}!RESPONSE@{RESPONSE}}
  43 +\index{RESPONSE@{RESPONSE}!serverRun.c@{serverRun.c}}
  44 +\subsubsection[{RESPONSE}]{\setlength{\rightskip}{0pt plus 5cm}\#define RESPONSE~\char`\"{} 200 OK$\backslash$r$\backslash$nServer: xmlrpc$\backslash$r$\backslash$nStatus: 200$\backslash$r$\backslash$nContent-Length: 10$\backslash$r$\backslash$nContent-Type: text/plain$\backslash$r$\backslash$n$\backslash$r$\backslash$n0123456789\char`\"{}}}
  45 +\label{serverRun_8c_98a2366f9ef44f0d3eee7d33981bbe8a}
  46 +
  47 +
  48 +
  49 +
  50 +Definition at line 18 of file serverRun.c.
  51 +
  52 +\subsection{Function Documentation}
  53 +\hypertarget{serverRun_8c_1e60190f250d3f699f3671c759e6fe36}{
  54 +\index{serverRun.c@{serverRun.c}!end@{end}}
  55 +\index{end@{end}!serverRun.c@{serverRun.c}}
  56 +\subsubsection[{end}]{\setlength{\rightskip}{0pt plus 5cm}void XMLCALL end (void $\ast$ {\em data}, \/ const char $\ast$ {\em el})}}
  57 +\label{serverRun_8c_1e60190f250d3f699f3671c759e6fe36}
  58 +
  59 +
  60 +
  61 +
  62 +Definition at line 40 of file serverRun.c.\hypertarget{serverRun_8c_208ea34b5a69f6ff0d48ed85c9a6f9eb}{
  63 +\index{serverRun.c@{serverRun.c}!serverRun@{serverRun}}
  64 +\index{serverRun@{serverRun}!serverRun.c@{serverRun.c}}
  65 +\subsubsection[{serverRun}]{\setlength{\rightskip}{0pt plus 5cm}void serverRun ({\bf tServer} $\ast$ {\em server})}}
  66 +\label{serverRun_8c_208ea34b5a69f6ff0d48ed85c9a6f9eb}
  67 +
  68 +
  69 +
  70 +
  71 +Definition at line 50 of file serverRun.c.\hypertarget{serverRun_8c_73425567b97c64e9af77c626e0069f67}{
  72 +\index{serverRun.c@{serverRun.c}!start@{start}}
  73 +\index{start@{start}!serverRun.c@{serverRun.c}}
  74 +\subsubsection[{start}]{\setlength{\rightskip}{0pt plus 5cm}void XMLCALL start (void $\ast$ {\em data}, \/ const char $\ast$ {\em el}, \/ const char $\ast$$\ast$ {\em attr})}}
  75 +\label{serverRun_8c_73425567b97c64e9af77c626e0069f67}
  76 +
  77 +
  78 +
  79 +
  80 +Definition at line 23 of file serverRun.c.
  81 +
  82 +\subsection{Variable Documentation}
  83 +\hypertarget{serverRun_8c_c66dbe0e082fd3cc29bc1572a4dccc09}{
  84 +\index{serverRun.c@{serverRun.c}!Depth@{Depth}}
  85 +\index{Depth@{Depth}!serverRun.c@{serverRun.c}}
  86 +\subsubsection[{Depth}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf Depth}}}
  87 +\label{serverRun_8c_c66dbe0e082fd3cc29bc1572a4dccc09}
  88 +
  89 +
  90 +
  91 +
  92 +Definition at line 20 of file serverRun.c.
\ No newline at end of file
... ...
  1 +\hypertarget{serverShutdown_8c}{
  2 +\section{server/serverShutdown.c File Reference}
  3 +\label{serverShutdown_8c}\index{server/serverShutdown.c@{server/serverShutdown.c}}
  4 +}
  5 +{\tt \#include $<$stdio.h$>$}\par
  6 +{\tt \#include $<$sys/select.h$>$}\par
  7 +{\tt \#include $<$sys/socket.h$>$}\par
  8 +{\tt \#include $<$stdlib.h$>$}\par
  9 +{\tt \#include $<$string.h$>$}\par
  10 +{\tt \#include $<$unistd.h$>$}\par
  11 +{\tt \#include $<$errno.h$>$}\par
  12 +{\tt \#include \char`\"{}../include/server.h\char`\"{}}\par
  13 +{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
  14 +{\tt \#include \char`\"{}../include/writeBuffer.h\char`\"{}}\par
  15 +\subsection*{Functions}
  16 +\begin{CompactItemize}
  17 +\item
  18 +void \hyperlink{serverShutdown_8c_50decfdd3550b2490a1b9448a313cbf9}{serverShutdown} (\hyperlink{structtServer}{tServer} $\ast$server)
  19 +\end{CompactItemize}
  20 +
  21 +
  22 +\subsection{Function Documentation}
  23 +\hypertarget{serverShutdown_8c_50decfdd3550b2490a1b9448a313cbf9}{
  24 +\index{serverShutdown.c@{serverShutdown.c}!serverShutdown@{serverShutdown}}
  25 +\index{serverShutdown@{serverShutdown}!serverShutdown.c@{serverShutdown.c}}
  26 +\subsubsection[{serverShutdown}]{\setlength{\rightskip}{0pt plus 5cm}void serverShutdown ({\bf tServer} $\ast$ {\em server})}}
  27 +\label{serverShutdown_8c_50decfdd3550b2490a1b9448a313cbf9}
  28 +
  29 +
  30 +
  31 +
  32 +Definition at line 15 of file serverShutdown.c.
\ No newline at end of file
... ...
  1 +\hypertarget{server_8h}{
  2 +\section{include/server.h File Reference}
  3 +\label{server_8h}\index{include/server.h@{include/server.h}}
  4 +}
  5 +{\tt \#include $<$stdio.h$>$}\par
  6 +{\tt \#include $<$sys/select.h$>$}\par
  7 +{\tt \#include \char`\"{}client.h\char`\"{}}\par
  8 +\subsection*{Data Structures}
  9 +\begin{CompactItemize}
  10 +\item
  11 +struct \hyperlink{structtServer}{tServer}
  12 +\end{CompactItemize}
  13 +\subsection*{Functions}
  14 +\begin{CompactItemize}
  15 +\item
  16 +void \hyperlink{server_8h_50decfdd3550b2490a1b9448a313cbf9}{serverShutdown} (\hyperlink{structtServer}{tServer} $\ast$server)
  17 +\item
  18 +void \hyperlink{server_8h_68050069ed3a2e05cb02440090c89a1f}{serverInit} (\hyperlink{structtServer}{tServer} $\ast$server, unsigned int port, unsigned int pending, const char $\ast$logPath, const char $\ast$namePat)
  19 +\item
  20 +void \hyperlink{server_8h_208ea34b5a69f6ff0d48ed85c9a6f9eb}{serverRun} (\hyperlink{structtServer}{tServer} $\ast$server)
  21 +\end{CompactItemize}
  22 +
  23 +
  24 +\subsection{Function Documentation}
  25 +\hypertarget{server_8h_68050069ed3a2e05cb02440090c89a1f}{
  26 +\index{server.h@{server.h}!serverInit@{serverInit}}
  27 +\index{serverInit@{serverInit}!server.h@{server.h}}
  28 +\subsubsection[{serverInit}]{\setlength{\rightskip}{0pt plus 5cm}void serverInit ({\bf tServer} $\ast$ {\em server}, \/ unsigned int {\em port}, \/ unsigned int {\em pending}, \/ const char $\ast$ {\em logPath}, \/ const char $\ast$ {\em namePat})}}
  29 +\label{server_8h_68050069ed3a2e05cb02440090c89a1f}
  30 +
  31 +
  32 +
  33 +
  34 +Definition at line 11 of file serverInit.c.\hypertarget{server_8h_208ea34b5a69f6ff0d48ed85c9a6f9eb}{
  35 +\index{server.h@{server.h}!serverRun@{serverRun}}
  36 +\index{serverRun@{serverRun}!server.h@{server.h}}
  37 +\subsubsection[{serverRun}]{\setlength{\rightskip}{0pt plus 5cm}void serverRun ({\bf tServer} $\ast$ {\em server})}}
  38 +\label{server_8h_208ea34b5a69f6ff0d48ed85c9a6f9eb}
  39 +
  40 +
  41 +
  42 +
  43 +Definition at line 50 of file serverRun.c.\hypertarget{server_8h_50decfdd3550b2490a1b9448a313cbf9}{
  44 +\index{server.h@{server.h}!serverShutdown@{serverShutdown}}
  45 +\index{serverShutdown@{serverShutdown}!server.h@{server.h}}
  46 +\subsubsection[{serverShutdown}]{\setlength{\rightskip}{0pt plus 5cm}void serverShutdown ({\bf tServer} $\ast$ {\em server})}}
  47 +\label{server_8h_50decfdd3550b2490a1b9448a313cbf9}
  48 +
  49 +
  50 +
  51 +
  52 +Definition at line 15 of file serverShutdown.c.
\ No newline at end of file
... ...
  1 +\hypertarget{signalHandling_8c}{
  2 +\section{system/signalHandling.c File Reference}
  3 +\label{signalHandling_8c}\index{system/signalHandling.c@{system/signalHandling.c}}
  4 +}
  5 +{\tt \#include $<$signal.h$>$}\par
  6 +{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
  7 +\subsection*{Functions}
  8 +\begin{CompactItemize}
  9 +\item
  10 +void \hyperlink{signalHandling_8c_64612b9588ed0fb05d70680db02b3630}{terminate} (int signum)
  11 +\item
  12 +void \hyperlink{signalHandling_8c_1de31bdef82f181f8045b94ae0933916}{init\_\-signals} (void)
  13 +\end{CompactItemize}
  14 +\subsection*{Variables}
  15 +\begin{CompactItemize}
  16 +\item
  17 +volatile int \hyperlink{signalHandling_8c_960e985a396acaabb1bbed4f15668ade}{doShutdown}
  18 +\end{CompactItemize}
  19 +
  20 +
  21 +\subsection{Function Documentation}
  22 +\hypertarget{signalHandling_8c_1de31bdef82f181f8045b94ae0933916}{
  23 +\index{signalHandling.c@{signalHandling.c}!init\_\-signals@{init\_\-signals}}
  24 +\index{init\_\-signals@{init\_\-signals}!signalHandling.c@{signalHandling.c}}
  25 +\subsubsection[{init\_\-signals}]{\setlength{\rightskip}{0pt plus 5cm}void init\_\-signals (void)}}
  26 +\label{signalHandling_8c_1de31bdef82f181f8045b94ae0933916}
  27 +
  28 +
  29 +
  30 +
  31 +Definition at line 15 of file signalHandling.c.\hypertarget{signalHandling_8c_64612b9588ed0fb05d70680db02b3630}{
  32 +\index{signalHandling.c@{signalHandling.c}!terminate@{terminate}}
  33 +\index{terminate@{terminate}!signalHandling.c@{signalHandling.c}}
  34 +\subsubsection[{terminate}]{\setlength{\rightskip}{0pt plus 5cm}void terminate (int {\em signum})}}
  35 +\label{signalHandling_8c_64612b9588ed0fb05d70680db02b3630}
  36 +
  37 +
  38 +
  39 +
  40 +Definition at line 7 of file signalHandling.c.
  41 +
  42 +\subsection{Variable Documentation}
  43 +\hypertarget{signalHandling_8c_960e985a396acaabb1bbed4f15668ade}{
  44 +\index{signalHandling.c@{signalHandling.c}!doShutdown@{doShutdown}}
  45 +\index{doShutdown@{doShutdown}!signalHandling.c@{signalHandling.c}}
  46 +\subsubsection[{doShutdown}]{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf doShutdown}}}
  47 +\label{signalHandling_8c_960e985a396acaabb1bbed4f15668ade}
  48 +
  49 +
  50 +
  51 +
  52 +Definition at line 5 of file signalHandling.c.
\ No newline at end of file
... ...
  1 +\hypertarget{signalHandling_8h}{
  2 +\section{include/signalHandling.h File Reference}
  3 +\label{signalHandling_8h}\index{include/signalHandling.h@{include/signalHandling.h}}
  4 +}
  5 +\subsection*{Functions}
  6 +\begin{CompactItemize}
  7 +\item
  8 +void \hyperlink{signalHandling_8h_64612b9588ed0fb05d70680db02b3630}{terminate} (int signum)
  9 +\item
  10 +void \hyperlink{signalHandling_8h_1de31bdef82f181f8045b94ae0933916}{init\_\-signals} (void)
  11 +\end{CompactItemize}
  12 +\subsection*{Variables}
  13 +\begin{CompactItemize}
  14 +\item
  15 +volatile int \hyperlink{signalHandling_8h_960e985a396acaabb1bbed4f15668ade}{doShutdown}
  16 +\end{CompactItemize}
  17 +
  18 +
  19 +\subsection{Function Documentation}
  20 +\hypertarget{signalHandling_8h_1de31bdef82f181f8045b94ae0933916}{
  21 +\index{signalHandling.h@{signalHandling.h}!init\_\-signals@{init\_\-signals}}
  22 +\index{init\_\-signals@{init\_\-signals}!signalHandling.h@{signalHandling.h}}
  23 +\subsubsection[{init\_\-signals}]{\setlength{\rightskip}{0pt plus 5cm}void init\_\-signals (void)}}
  24 +\label{signalHandling_8h_1de31bdef82f181f8045b94ae0933916}
  25 +
  26 +
  27 +
  28 +
  29 +Definition at line 15 of file signalHandling.c.\hypertarget{signalHandling_8h_64612b9588ed0fb05d70680db02b3630}{
  30 +\index{signalHandling.h@{signalHandling.h}!terminate@{terminate}}
  31 +\index{terminate@{terminate}!signalHandling.h@{signalHandling.h}}
  32 +\subsubsection[{terminate}]{\setlength{\rightskip}{0pt plus 5cm}void terminate (int {\em signum})}}
  33 +\label{signalHandling_8h_64612b9588ed0fb05d70680db02b3630}
  34 +
  35 +
  36 +
  37 +
  38 +Definition at line 7 of file signalHandling.c.
  39 +
  40 +\subsection{Variable Documentation}
  41 +\hypertarget{signalHandling_8h_960e985a396acaabb1bbed4f15668ade}{
  42 +\index{signalHandling.h@{signalHandling.h}!doShutdown@{doShutdown}}
  43 +\index{doShutdown@{doShutdown}!signalHandling.h@{signalHandling.h}}
  44 +\subsubsection[{doShutdown}]{\setlength{\rightskip}{0pt plus 5cm}volatile int {\bf doShutdown}}}
  45 +\label{signalHandling_8h_960e985a396acaabb1bbed4f15668ade}
  46 +
  47 +
  48 +
  49 +
  50 +Definition at line 5 of file signalHandling.c.
\ No newline at end of file
... ...
  1 +\hypertarget{socket_8c}{
  2 +\section{system/socket.c File Reference}
  3 +\label{socket_8c}\index{system/socket.c@{system/socket.c}}
  4 +}
  5 +{\tt \#include $<$stdio.h$>$}\par
  6 +{\tt \#include $<$sys/socket.h$>$}\par
  7 +{\tt \#include $<$arpa/inet.h$>$}\par
  8 +{\tt \#include $<$stdlib.h$>$}\par
  9 +{\tt \#include $<$string.h$>$}\par
  10 +{\tt \#include $<$unistd.h$>$}\par
  11 +{\tt \#include $<$errno.h$>$}\par
  12 +{\tt \#include $<$syslog.h$>$}\par
  13 +{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
  14 +\subsection*{Functions}
  15 +\begin{CompactItemize}
  16 +\item
  17 +int \hyperlink{socket_8c_44dc8ffaedb1d6f7d4663f5cecaf4e70}{initServerSocket} (in\_\-port\_\-t port, int backlog)
  18 +\item
  19 +int \hyperlink{socket_8c_f09ba488c48f40f8d1f133a4441deb25}{acceptConnection} (int servSock, char remoteAddr\mbox{[}16\mbox{]})
  20 +\end{CompactItemize}
  21 +\subsection*{Variables}
  22 +\begin{CompactItemize}
  23 +\item
  24 +int \hyperlink{socket_8c_0b2caeb4b6f130be43e5a2f0267dd453}{verbose}
  25 +\end{CompactItemize}
  26 +
  27 +
  28 +\subsection{Function Documentation}
  29 +\hypertarget{socket_8c_f09ba488c48f40f8d1f133a4441deb25}{
  30 +\index{socket.c@{socket.c}!acceptConnection@{acceptConnection}}
  31 +\index{acceptConnection@{acceptConnection}!socket.c@{socket.c}}
  32 +\subsubsection[{acceptConnection}]{\setlength{\rightskip}{0pt plus 5cm}int acceptConnection (int {\em servSock}, \/ char {\em remoteAddr}\mbox{[}16\mbox{]})}}
  33 +\label{socket_8c_f09ba488c48f40f8d1f133a4441deb25}
  34 +
  35 +
  36 +
  37 +
  38 +Definition at line 53 of file socket.c.\hypertarget{socket_8c_44dc8ffaedb1d6f7d4663f5cecaf4e70}{
  39 +\index{socket.c@{socket.c}!initServerSocket@{initServerSocket}}
  40 +\index{initServerSocket@{initServerSocket}!socket.c@{socket.c}}
  41 +\subsubsection[{initServerSocket}]{\setlength{\rightskip}{0pt plus 5cm}int initServerSocket (in\_\-port\_\-t {\em port}, \/ int {\em backlog})}}
  42 +\label{socket_8c_44dc8ffaedb1d6f7d4663f5cecaf4e70}
  43 +
  44 +
  45 +
  46 +
  47 +Definition at line 15 of file socket.c.
  48 +
  49 +\subsection{Variable Documentation}
  50 +\hypertarget{socket_8c_0b2caeb4b6f130be43e5a2f0267dd453}{
  51 +\index{socket.c@{socket.c}!verbose@{verbose}}
  52 +\index{verbose@{verbose}!socket.c@{socket.c}}
  53 +\subsubsection[{verbose}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf verbose}}}
  54 +\label{socket_8c_0b2caeb4b6f130be43e5a2f0267dd453}
  55 +
  56 +
... ...
  1 +\hypertarget{socket_8h}{
  2 +\section{include/socket.h File Reference}
  3 +\label{socket_8h}\index{include/socket.h@{include/socket.h}}
  4 +}
  5 +{\tt \#include $<$arpa/inet.h$>$}\par
  6 +\subsection*{Functions}
  7 +\begin{CompactItemize}
  8 +\item
  9 +int \hyperlink{socket_8h_44dc8ffaedb1d6f7d4663f5cecaf4e70}{initServerSocket} (in\_\-port\_\-t port, int backlog)
  10 +\item
  11 +int \hyperlink{socket_8h_f09ba488c48f40f8d1f133a4441deb25}{acceptConnection} (int servSock, char remoteAddr\mbox{[}16\mbox{]})
  12 +\end{CompactItemize}
  13 +
  14 +
  15 +\subsection{Function Documentation}
  16 +\hypertarget{socket_8h_f09ba488c48f40f8d1f133a4441deb25}{
  17 +\index{socket.h@{socket.h}!acceptConnection@{acceptConnection}}
  18 +\index{acceptConnection@{acceptConnection}!socket.h@{socket.h}}
  19 +\subsubsection[{acceptConnection}]{\setlength{\rightskip}{0pt plus 5cm}int acceptConnection (int {\em servSock}, \/ char {\em remoteAddr}\mbox{[}16\mbox{]})}}
  20 +\label{socket_8h_f09ba488c48f40f8d1f133a4441deb25}
  21 +
  22 +
  23 +
  24 +
  25 +Definition at line 53 of file socket.c.\hypertarget{socket_8h_44dc8ffaedb1d6f7d4663f5cecaf4e70}{
  26 +\index{socket.h@{socket.h}!initServerSocket@{initServerSocket}}
  27 +\index{initServerSocket@{initServerSocket}!socket.h@{socket.h}}
  28 +\subsubsection[{initServerSocket}]{\setlength{\rightskip}{0pt plus 5cm}int initServerSocket (in\_\-port\_\-t {\em port}, \/ int {\em backlog})}}
  29 +\label{socket_8h_44dc8ffaedb1d6f7d4663f5cecaf4e70}
  30 +
  31 +
  32 +
  33 +
  34 +Definition at line 15 of file socket.c.
\ No newline at end of file
... ...
  1 +\hypertarget{structtAppConfig}{
  2 +\section{tAppConfig Struct Reference}
  3 +\label{structtAppConfig}\index{tAppConfig@{tAppConfig}}
  4 +}
  5 +{\tt \#include $<$appConfig.h$>$}
  6 +
  7 +\subsection*{Data Fields}
  8 +\begin{CompactItemize}
  9 +\item
  10 +unsigned char \hyperlink{structtAppConfig_9a20fbb501c68675f88764f1dcb42684}{verbose}
  11 +\item
  12 +unsigned char \hyperlink{structtAppConfig_d5d5f9bd2f4f0dd2cd259e50c4d149bf}{doDaemon}
  13 +\item
  14 +unsigned int \hyperlink{structtAppConfig_1bef5de806f77de1c307062e9fa84e4f}{maxPending}
  15 +\item
  16 +unsigned int \hyperlink{structtAppConfig_3e4960a8eb8e1eac506bd651453faecc}{port}
  17 +\item
  18 +char \hyperlink{structtAppConfig_1b87fb5e17055c70a233387374d8342e}{logPath} \mbox{[}513\mbox{]}
  19 +\item
  20 +char \hyperlink{structtAppConfig_58b889074da91d9de3ef14aa34f97795}{namePat} \mbox{[}513\mbox{]}
  21 +\end{CompactItemize}
  22 +
  23 +
  24 +\subsection{Detailed Description}
  25 +
  26 +
  27 +Definition at line 17 of file appConfig.h.
  28 +
  29 +\subsection{Field Documentation}
  30 +\hypertarget{structtAppConfig_d5d5f9bd2f4f0dd2cd259e50c4d149bf}{
  31 +\index{tAppConfig@{tAppConfig}!doDaemon@{doDaemon}}
  32 +\index{doDaemon@{doDaemon}!tAppConfig@{tAppConfig}}
  33 +\subsubsection[{doDaemon}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char {\bf tAppConfig::doDaemon}}}
  34 +\label{structtAppConfig_d5d5f9bd2f4f0dd2cd259e50c4d149bf}
  35 +
  36 +
  37 +
  38 +
  39 +Definition at line 19 of file appConfig.h.\hypertarget{structtAppConfig_1b87fb5e17055c70a233387374d8342e}{
  40 +\index{tAppConfig@{tAppConfig}!logPath@{logPath}}
  41 +\index{logPath@{logPath}!tAppConfig@{tAppConfig}}
  42 +\subsubsection[{logPath}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf tAppConfig::logPath}\mbox{[}513\mbox{]}}}
  43 +\label{structtAppConfig_1b87fb5e17055c70a233387374d8342e}
  44 +
  45 +
  46 +
  47 +
  48 +Definition at line 22 of file appConfig.h.\hypertarget{structtAppConfig_1bef5de806f77de1c307062e9fa84e4f}{
  49 +\index{tAppConfig@{tAppConfig}!maxPending@{maxPending}}
  50 +\index{maxPending@{maxPending}!tAppConfig@{tAppConfig}}
  51 +\subsubsection[{maxPending}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tAppConfig::maxPending}}}
  52 +\label{structtAppConfig_1bef5de806f77de1c307062e9fa84e4f}
  53 +
  54 +
  55 +
  56 +
  57 +Definition at line 20 of file appConfig.h.\hypertarget{structtAppConfig_58b889074da91d9de3ef14aa34f97795}{
  58 +\index{tAppConfig@{tAppConfig}!namePat@{namePat}}
  59 +\index{namePat@{namePat}!tAppConfig@{tAppConfig}}
  60 +\subsubsection[{namePat}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf tAppConfig::namePat}\mbox{[}513\mbox{]}}}
  61 +\label{structtAppConfig_58b889074da91d9de3ef14aa34f97795}
  62 +
  63 +
  64 +
  65 +
  66 +Definition at line 23 of file appConfig.h.\hypertarget{structtAppConfig_3e4960a8eb8e1eac506bd651453faecc}{
  67 +\index{tAppConfig@{tAppConfig}!port@{port}}
  68 +\index{port@{port}!tAppConfig@{tAppConfig}}
  69 +\subsubsection[{port}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tAppConfig::port}}}
  70 +\label{structtAppConfig_3e4960a8eb8e1eac506bd651453faecc}
  71 +
  72 +
  73 +
  74 +
  75 +Definition at line 21 of file appConfig.h.\hypertarget{structtAppConfig_9a20fbb501c68675f88764f1dcb42684}{
  76 +\index{tAppConfig@{tAppConfig}!verbose@{verbose}}
  77 +\index{verbose@{verbose}!tAppConfig@{tAppConfig}}
  78 +\subsubsection[{verbose}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char {\bf tAppConfig::verbose}}}
  79 +\label{structtAppConfig_9a20fbb501c68675f88764f1dcb42684}
  80 +
  81 +
  82 +
  83 +
  84 +Definition at line 18 of file appConfig.h.
  85 +
  86 +The documentation for this struct was generated from the following file:\begin{CompactItemize}
  87 +\item
  88 +include/\hyperlink{appConfig_8h}{appConfig.h}\end{CompactItemize}
... ...
  1 +\hypertarget{structtClient}{
  2 +\section{tClient Struct Reference}
  3 +\label{structtClient}\index{tClient@{tClient}}
  4 +}
  5 +{\tt \#include $<$client.h$>$}
  6 +
  7 +\subsection*{Data Fields}
  8 +\begin{CompactItemize}
  9 +\item
  10 +int \hyperlink{structtClient_fdcb6fae6d4162315adc430dc34e3df0}{socket}
  11 +\item
  12 +char $\ast$ \hyperlink{structtClient_70a954f8e1e6df925d78b34b9f2f162a}{readBuffer}
  13 +\item
  14 +char $\ast$ \hyperlink{structtClient_99d73b0cba75199cb16952751fdcc52d}{writeBuffer}
  15 +\item
  16 +unsigned int \hyperlink{structtClient_0948ef13430298f28cb48199119136c1}{readPos}
  17 +\item
  18 +unsigned int \hyperlink{structtClient_97da33ce83548b5900f11e29d5cec8d1}{writePos}
  19 +\item
  20 +unsigned int \hyperlink{structtClient_c55c66265d03aec3d760a0ed54b08a1f}{readBufMult}
  21 +\item
  22 +char \hyperlink{structtClient_e23a04145b9c0cc1262721432a43c947}{remoteAddr} \mbox{[}16\mbox{]}
  23 +\item
  24 +\hyperlink{structtHttpHeader}{tHttpHeader} \hyperlink{structtClient_33623f89815acd8a2822a1f04cafe844}{httpHeader}
  25 +\item
  26 +unsigned int \hyperlink{structtClient_00e4a47041701700d5d9e418773b01a1}{bodyLenRemaining}
  27 +\item
  28 +XML\_\-Parser \hyperlink{structtClient_b8f8ab3f31d6cf8fd4b3b527ef9c0107}{parser}
  29 +\end{CompactItemize}
  30 +
  31 +
  32 +\subsection{Detailed Description}
  33 +
  34 +
  35 +Definition at line 18 of file client.h.
  36 +
  37 +\subsection{Field Documentation}
  38 +\hypertarget{structtClient_00e4a47041701700d5d9e418773b01a1}{
  39 +\index{tClient@{tClient}!bodyLenRemaining@{bodyLenRemaining}}
  40 +\index{bodyLenRemaining@{bodyLenRemaining}!tClient@{tClient}}
  41 +\subsubsection[{bodyLenRemaining}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tClient::bodyLenRemaining}}}
  42 +\label{structtClient_00e4a47041701700d5d9e418773b01a1}
  43 +
  44 +
  45 +
  46 +
  47 +Definition at line 28 of file client.h.\hypertarget{structtClient_33623f89815acd8a2822a1f04cafe844}{
  48 +\index{tClient@{tClient}!httpHeader@{httpHeader}}
  49 +\index{httpHeader@{httpHeader}!tClient@{tClient}}
  50 +\subsubsection[{httpHeader}]{\setlength{\rightskip}{0pt plus 5cm}{\bf tHttpHeader} {\bf tClient::httpHeader}}}
  51 +\label{structtClient_33623f89815acd8a2822a1f04cafe844}
  52 +
  53 +
  54 +
  55 +
  56 +Definition at line 27 of file client.h.\hypertarget{structtClient_b8f8ab3f31d6cf8fd4b3b527ef9c0107}{
  57 +\index{tClient@{tClient}!parser@{parser}}
  58 +\index{parser@{parser}!tClient@{tClient}}
  59 +\subsubsection[{parser}]{\setlength{\rightskip}{0pt plus 5cm}XML\_\-Parser {\bf tClient::parser}}}
  60 +\label{structtClient_b8f8ab3f31d6cf8fd4b3b527ef9c0107}
  61 +
  62 +
  63 +
  64 +
  65 +Definition at line 30 of file client.h.\hypertarget{structtClient_70a954f8e1e6df925d78b34b9f2f162a}{
  66 +\index{tClient@{tClient}!readBuffer@{readBuffer}}
  67 +\index{readBuffer@{readBuffer}!tClient@{tClient}}
  68 +\subsubsection[{readBuffer}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf tClient::readBuffer}}}
  69 +\label{structtClient_70a954f8e1e6df925d78b34b9f2f162a}
  70 +
  71 +
  72 +
  73 +
  74 +Definition at line 20 of file client.h.\hypertarget{structtClient_c55c66265d03aec3d760a0ed54b08a1f}{
  75 +\index{tClient@{tClient}!readBufMult@{readBufMult}}
  76 +\index{readBufMult@{readBufMult}!tClient@{tClient}}
  77 +\subsubsection[{readBufMult}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tClient::readBufMult}}}
  78 +\label{structtClient_c55c66265d03aec3d760a0ed54b08a1f}
  79 +
  80 +
  81 +
  82 +
  83 +Definition at line 24 of file client.h.\hypertarget{structtClient_0948ef13430298f28cb48199119136c1}{
  84 +\index{tClient@{tClient}!readPos@{readPos}}
  85 +\index{readPos@{readPos}!tClient@{tClient}}
  86 +\subsubsection[{readPos}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tClient::readPos}}}
  87 +\label{structtClient_0948ef13430298f28cb48199119136c1}
  88 +
  89 +
  90 +
  91 +
  92 +Definition at line 22 of file client.h.\hypertarget{structtClient_e23a04145b9c0cc1262721432a43c947}{
  93 +\index{tClient@{tClient}!remoteAddr@{remoteAddr}}
  94 +\index{remoteAddr@{remoteAddr}!tClient@{tClient}}
  95 +\subsubsection[{remoteAddr}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf tClient::remoteAddr}\mbox{[}16\mbox{]}}}
  96 +\label{structtClient_e23a04145b9c0cc1262721432a43c947}
  97 +
  98 +
  99 +
  100 +
  101 +Definition at line 25 of file client.h.\hypertarget{structtClient_fdcb6fae6d4162315adc430dc34e3df0}{
  102 +\index{tClient@{tClient}!socket@{socket}}
  103 +\index{socket@{socket}!tClient@{tClient}}
  104 +\subsubsection[{socket}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf tClient::socket}}}
  105 +\label{structtClient_fdcb6fae6d4162315adc430dc34e3df0}
  106 +
  107 +
  108 +
  109 +
  110 +Definition at line 19 of file client.h.\hypertarget{structtClient_99d73b0cba75199cb16952751fdcc52d}{
  111 +\index{tClient@{tClient}!writeBuffer@{writeBuffer}}
  112 +\index{writeBuffer@{writeBuffer}!tClient@{tClient}}
  113 +\subsubsection[{writeBuffer}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf tClient::writeBuffer}}}
  114 +\label{structtClient_99d73b0cba75199cb16952751fdcc52d}
  115 +
  116 +
  117 +
  118 +
  119 +Definition at line 21 of file client.h.\hypertarget{structtClient_97da33ce83548b5900f11e29d5cec8d1}{
  120 +\index{tClient@{tClient}!writePos@{writePos}}
  121 +\index{writePos@{writePos}!tClient@{tClient}}
  122 +\subsubsection[{writePos}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tClient::writePos}}}
  123 +\label{structtClient_97da33ce83548b5900f11e29d5cec8d1}
  124 +
  125 +
  126 +
  127 +
  128 +Definition at line 23 of file client.h.
  129 +
  130 +The documentation for this struct was generated from the following file:\begin{CompactItemize}
  131 +\item
  132 +include/\hyperlink{client_8h}{client.h}\end{CompactItemize}
... ...
  1 +\hypertarget{structtHttpHeader}{
  2 +\section{tHttpHeader Struct Reference}
  3 +\label{structtHttpHeader}\index{tHttpHeader@{tHttpHeader}}
  4 +}
  5 +{\tt \#include $<$httpRequest.h$>$}
  6 +
  7 +\subsection*{Data Fields}
  8 +\begin{CompactItemize}
  9 +\item
  10 +\hyperlink{structtRequestLine}{tRequestLine} \hyperlink{structtHttpHeader_d624a9ea5e703b2e8cd812415e28dfc7}{req}
  11 +\item
  12 +\hyperlink{structtHttpHeaderLine}{tHttpHeaderLine} $\ast$ \hyperlink{structtHttpHeader_e44e0aa6e7494921acad1a07eaaecb3d}{headers}
  13 +\item
  14 +unsigned int \hyperlink{structtHttpHeader_40e3a997c2da1c432caef805ff150e42}{headersCount}
  15 +\item
  16 +unsigned char \hyperlink{structtHttpHeader_4c362cb9ed28c3c0ee28371cb28c2460}{bodyLength}
  17 +\end{CompactItemize}
  18 +
  19 +
  20 +\subsection{Detailed Description}
  21 +
  22 +
  23 +Definition at line 27 of file httpRequest.h.
  24 +
  25 +\subsection{Field Documentation}
  26 +\hypertarget{structtHttpHeader_4c362cb9ed28c3c0ee28371cb28c2460}{
  27 +\index{tHttpHeader@{tHttpHeader}!bodyLength@{bodyLength}}
  28 +\index{bodyLength@{bodyLength}!tHttpHeader@{tHttpHeader}}
  29 +\subsubsection[{bodyLength}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char {\bf tHttpHeader::bodyLength}}}
  30 +\label{structtHttpHeader_4c362cb9ed28c3c0ee28371cb28c2460}
  31 +
  32 +
  33 +
  34 +
  35 +Definition at line 32 of file httpRequest.h.\hypertarget{structtHttpHeader_e44e0aa6e7494921acad1a07eaaecb3d}{
  36 +\index{tHttpHeader@{tHttpHeader}!headers@{headers}}
  37 +\index{headers@{headers}!tHttpHeader@{tHttpHeader}}
  38 +\subsubsection[{headers}]{\setlength{\rightskip}{0pt plus 5cm}{\bf tHttpHeaderLine}$\ast$ {\bf tHttpHeader::headers}}}
  39 +\label{structtHttpHeader_e44e0aa6e7494921acad1a07eaaecb3d}
  40 +
  41 +
  42 +
  43 +
  44 +Definition at line 29 of file httpRequest.h.\hypertarget{structtHttpHeader_40e3a997c2da1c432caef805ff150e42}{
  45 +\index{tHttpHeader@{tHttpHeader}!headersCount@{headersCount}}
  46 +\index{headersCount@{headersCount}!tHttpHeader@{tHttpHeader}}
  47 +\subsubsection[{headersCount}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tHttpHeader::headersCount}}}
  48 +\label{structtHttpHeader_40e3a997c2da1c432caef805ff150e42}
  49 +
  50 +
  51 +
  52 +
  53 +Definition at line 30 of file httpRequest.h.\hypertarget{structtHttpHeader_d624a9ea5e703b2e8cd812415e28dfc7}{
  54 +\index{tHttpHeader@{tHttpHeader}!req@{req}}
  55 +\index{req@{req}!tHttpHeader@{tHttpHeader}}
  56 +\subsubsection[{req}]{\setlength{\rightskip}{0pt plus 5cm}{\bf tRequestLine} {\bf tHttpHeader::req}}}
  57 +\label{structtHttpHeader_d624a9ea5e703b2e8cd812415e28dfc7}
  58 +
  59 +
  60 +
  61 +
  62 +Definition at line 28 of file httpRequest.h.
  63 +
  64 +The documentation for this struct was generated from the following file:\begin{CompactItemize}
  65 +\item
  66 +include/\hyperlink{httpRequest_8h}{httpRequest.h}\end{CompactItemize}
... ...
  1 +\hypertarget{structtHttpHeaderLine}{
  2 +\section{tHttpHeaderLine Struct Reference}
  3 +\label{structtHttpHeaderLine}\index{tHttpHeaderLine@{tHttpHeaderLine}}
  4 +}
  5 +{\tt \#include $<$httpRequest.h$>$}
  6 +
  7 +\subsection*{Data Fields}
  8 +\begin{CompactItemize}
  9 +\item
  10 +char $\ast$ \hyperlink{structtHttpHeaderLine_0b7fdfe2d665663b34ab17f843bdd362}{key}
  11 +\item
  12 +char $\ast$ \hyperlink{structtHttpHeaderLine_20a63b6ab6476fd27b5ec5438150dba9}{value}
  13 +\end{CompactItemize}
  14 +
  15 +
  16 +\subsection{Detailed Description}
  17 +
  18 +
  19 +Definition at line 22 of file httpRequest.h.
  20 +
  21 +\subsection{Field Documentation}
  22 +\hypertarget{structtHttpHeaderLine_0b7fdfe2d665663b34ab17f843bdd362}{
  23 +\index{tHttpHeaderLine@{tHttpHeaderLine}!key@{key}}
  24 +\index{key@{key}!tHttpHeaderLine@{tHttpHeaderLine}}
  25 +\subsubsection[{key}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf tHttpHeaderLine::key}}}
  26 +\label{structtHttpHeaderLine_0b7fdfe2d665663b34ab17f843bdd362}
  27 +
  28 +
  29 +
  30 +
  31 +Definition at line 23 of file httpRequest.h.\hypertarget{structtHttpHeaderLine_20a63b6ab6476fd27b5ec5438150dba9}{
  32 +\index{tHttpHeaderLine@{tHttpHeaderLine}!value@{value}}
  33 +\index{value@{value}!tHttpHeaderLine@{tHttpHeaderLine}}
  34 +\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf tHttpHeaderLine::value}}}
  35 +\label{structtHttpHeaderLine_20a63b6ab6476fd27b5ec5438150dba9}
  36 +
  37 +
  38 +
  39 +
  40 +Definition at line 24 of file httpRequest.h.
  41 +
  42 +The documentation for this struct was generated from the following file:\begin{CompactItemize}
  43 +\item
  44 +include/\hyperlink{httpRequest_8h}{httpRequest.h}\end{CompactItemize}
... ...
  1 +\hypertarget{structtHttpRequest}{
  2 +\section{tHttpRequest Struct Reference}
  3 +\label{structtHttpRequest}\index{tHttpRequest@{tHttpRequest}}
  4 +}
  5 +{\tt \#include $<$httpRequest.h$>$}
  6 +
  7 +\subsection*{Data Fields}
  8 +\begin{CompactItemize}
  9 +\item
  10 +\hyperlink{structtHttpHeader}{tHttpHeader} \hyperlink{structtHttpRequest_9936369fb110812f1a4b7fc31a0dc755}{header}
  11 +\item
  12 +unsigned int \hyperlink{structtHttpRequest_208d984f6996b3b75579b9d7f9583231}{length}
  13 +\item
  14 +char $\ast$ \hyperlink{structtHttpRequest_3bafedaca9066375ffc720da29235ae2}{body}
  15 +\end{CompactItemize}
  16 +
  17 +
  18 +\subsection{Detailed Description}
  19 +
  20 +
  21 +Definition at line 35 of file httpRequest.h.
  22 +
  23 +\subsection{Field Documentation}
  24 +\hypertarget{structtHttpRequest_3bafedaca9066375ffc720da29235ae2}{
  25 +\index{tHttpRequest@{tHttpRequest}!body@{body}}
  26 +\index{body@{body}!tHttpRequest@{tHttpRequest}}
  27 +\subsubsection[{body}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf tHttpRequest::body}}}
  28 +\label{structtHttpRequest_3bafedaca9066375ffc720da29235ae2}
  29 +
  30 +
  31 +
  32 +
  33 +Definition at line 38 of file httpRequest.h.\hypertarget{structtHttpRequest_9936369fb110812f1a4b7fc31a0dc755}{
  34 +\index{tHttpRequest@{tHttpRequest}!header@{header}}
  35 +\index{header@{header}!tHttpRequest@{tHttpRequest}}
  36 +\subsubsection[{header}]{\setlength{\rightskip}{0pt plus 5cm}{\bf tHttpHeader} {\bf tHttpRequest::header}}}
  37 +\label{structtHttpRequest_9936369fb110812f1a4b7fc31a0dc755}
  38 +
  39 +
  40 +
  41 +
  42 +Definition at line 36 of file httpRequest.h.\hypertarget{structtHttpRequest_208d984f6996b3b75579b9d7f9583231}{
  43 +\index{tHttpRequest@{tHttpRequest}!length@{length}}
  44 +\index{length@{length}!tHttpRequest@{tHttpRequest}}
  45 +\subsubsection[{length}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tHttpRequest::length}}}
  46 +\label{structtHttpRequest_208d984f6996b3b75579b9d7f9583231}
  47 +
  48 +
  49 +
  50 +
  51 +Definition at line 37 of file httpRequest.h.
  52 +
  53 +The documentation for this struct was generated from the following file:\begin{CompactItemize}
  54 +\item
  55 +include/\hyperlink{httpRequest_8h}{httpRequest.h}\end{CompactItemize}
... ...
  1 +\hypertarget{structtRequestLine}{
  2 +\section{tRequestLine Struct Reference}
  3 +\label{structtRequestLine}\index{tRequestLine@{tRequestLine}}
  4 +}
  5 +{\tt \#include $<$httpRequest.h$>$}
  6 +
  7 +\subsection*{Data Fields}
  8 +\begin{CompactItemize}
  9 +\item
  10 +char $\ast$ \hyperlink{structtRequestLine_418658e78fa3e0e0e5fbd8f693104558}{method}
  11 +\item
  12 +char $\ast$ \hyperlink{structtRequestLine_5748787454dc1cc0dc06240e2890e025}{requestUri}
  13 +\item
  14 +char $\ast$ \hyperlink{structtRequestLine_9e9dad5c7e7851b4a5e5b8ab8837a72b}{httpVersion}
  15 +\end{CompactItemize}
  16 +
  17 +
  18 +\subsection{Detailed Description}
  19 +
  20 +
  21 +Definition at line 16 of file httpRequest.h.
  22 +
  23 +\subsection{Field Documentation}
  24 +\hypertarget{structtRequestLine_9e9dad5c7e7851b4a5e5b8ab8837a72b}{
  25 +\index{tRequestLine@{tRequestLine}!httpVersion@{httpVersion}}
  26 +\index{httpVersion@{httpVersion}!tRequestLine@{tRequestLine}}
  27 +\subsubsection[{httpVersion}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf tRequestLine::httpVersion}}}
  28 +\label{structtRequestLine_9e9dad5c7e7851b4a5e5b8ab8837a72b}
  29 +
  30 +
  31 +
  32 +
  33 +Definition at line 19 of file httpRequest.h.\hypertarget{structtRequestLine_418658e78fa3e0e0e5fbd8f693104558}{
  34 +\index{tRequestLine@{tRequestLine}!method@{method}}
  35 +\index{method@{method}!tRequestLine@{tRequestLine}}
  36 +\subsubsection[{method}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf tRequestLine::method}}}
  37 +\label{structtRequestLine_418658e78fa3e0e0e5fbd8f693104558}
  38 +
  39 +
  40 +
  41 +
  42 +Definition at line 17 of file httpRequest.h.\hypertarget{structtRequestLine_5748787454dc1cc0dc06240e2890e025}{
  43 +\index{tRequestLine@{tRequestLine}!requestUri@{requestUri}}
  44 +\index{requestUri@{requestUri}!tRequestLine@{tRequestLine}}
  45 +\subsubsection[{requestUri}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf tRequestLine::requestUri}}}
  46 +\label{structtRequestLine_5748787454dc1cc0dc06240e2890e025}
  47 +
  48 +
  49 +
  50 +
  51 +Definition at line 18 of file httpRequest.h.
  52 +
  53 +The documentation for this struct was generated from the following file:\begin{CompactItemize}
  54 +\item
  55 +include/\hyperlink{httpRequest_8h}{httpRequest.h}\end{CompactItemize}
... ...
  1 +\hypertarget{structtServer}{
  2 +\section{tServer Struct Reference}
  3 +\label{structtServer}\index{tServer@{tServer}}
  4 +}
  5 +{\tt \#include $<$server.h$>$}
  6 +
  7 +\subsection*{Data Fields}
  8 +\begin{CompactItemize}
  9 +\item
  10 +int \hyperlink{structtServer_0f35110b14ced93ae0c47173e37d707d}{servSock}
  11 +\item
  12 +\hyperlink{structtClient}{tClient} \hyperlink{structtServer_1c13c660dcf97444bdeee1f52bace303}{clients} \mbox{[}FD\_\-SETSIZE\mbox{]}
  13 +\item
  14 +unsigned int \hyperlink{structtServer_145a672dfaec08ce54c02dbc9f3b11ae}{maxFd}
  15 +\item
  16 +fd\_\-set \hyperlink{structtServer_f1e1c8e11bd347994ebc641bcac4c0fb}{socks}
  17 +\item
  18 +char \hyperlink{structtServer_17180f100090e101569a3a95934c38aa}{logPath} \mbox{[}512\mbox{]}
  19 +\item
  20 +char \hyperlink{structtServer_c932a28b0613bb0276c1ceb6b3fee454}{namePat} \mbox{[}512\mbox{]}
  21 +\item
  22 +FILE $\ast$ \hyperlink{structtServer_8fc3e5e54d17d86d21874d5987a080af}{wHandle}
  23 +\end{CompactItemize}
  24 +
  25 +
  26 +\subsection{Detailed Description}
  27 +
  28 +
  29 +Definition at line 9 of file server.h.
  30 +
  31 +\subsection{Field Documentation}
  32 +\hypertarget{structtServer_1c13c660dcf97444bdeee1f52bace303}{
  33 +\index{tServer@{tServer}!clients@{clients}}
  34 +\index{clients@{clients}!tServer@{tServer}}
  35 +\subsubsection[{clients}]{\setlength{\rightskip}{0pt plus 5cm}{\bf tClient} {\bf tServer::clients}\mbox{[}FD\_\-SETSIZE\mbox{]}}}
  36 +\label{structtServer_1c13c660dcf97444bdeee1f52bace303}
  37 +
  38 +
  39 +
  40 +
  41 +Definition at line 11 of file server.h.\hypertarget{structtServer_17180f100090e101569a3a95934c38aa}{
  42 +\index{tServer@{tServer}!logPath@{logPath}}
  43 +\index{logPath@{logPath}!tServer@{tServer}}
  44 +\subsubsection[{logPath}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf tServer::logPath}\mbox{[}512\mbox{]}}}
  45 +\label{structtServer_17180f100090e101569a3a95934c38aa}
  46 +
  47 +
  48 +
  49 +
  50 +Definition at line 14 of file server.h.\hypertarget{structtServer_145a672dfaec08ce54c02dbc9f3b11ae}{
  51 +\index{tServer@{tServer}!maxFd@{maxFd}}
  52 +\index{maxFd@{maxFd}!tServer@{tServer}}
  53 +\subsubsection[{maxFd}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf tServer::maxFd}}}
  54 +\label{structtServer_145a672dfaec08ce54c02dbc9f3b11ae}
  55 +
  56 +
  57 +
  58 +
  59 +Definition at line 12 of file server.h.\hypertarget{structtServer_c932a28b0613bb0276c1ceb6b3fee454}{
  60 +\index{tServer@{tServer}!namePat@{namePat}}
  61 +\index{namePat@{namePat}!tServer@{tServer}}
  62 +\subsubsection[{namePat}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf tServer::namePat}\mbox{[}512\mbox{]}}}
  63 +\label{structtServer_c932a28b0613bb0276c1ceb6b3fee454}
  64 +
  65 +
  66 +
  67 +
  68 +Definition at line 15 of file server.h.\hypertarget{structtServer_0f35110b14ced93ae0c47173e37d707d}{
  69 +\index{tServer@{tServer}!servSock@{servSock}}
  70 +\index{servSock@{servSock}!tServer@{tServer}}
  71 +\subsubsection[{servSock}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf tServer::servSock}}}
  72 +\label{structtServer_0f35110b14ced93ae0c47173e37d707d}
  73 +
  74 +
  75 +
  76 +
  77 +Definition at line 10 of file server.h.\hypertarget{structtServer_f1e1c8e11bd347994ebc641bcac4c0fb}{
  78 +\index{tServer@{tServer}!socks@{socks}}
  79 +\index{socks@{socks}!tServer@{tServer}}
  80 +\subsubsection[{socks}]{\setlength{\rightskip}{0pt plus 5cm}fd\_\-set {\bf tServer::socks}}}
  81 +\label{structtServer_f1e1c8e11bd347994ebc641bcac4c0fb}
  82 +
  83 +
  84 +
  85 +
  86 +Definition at line 13 of file server.h.\hypertarget{structtServer_8fc3e5e54d17d86d21874d5987a080af}{
  87 +\index{tServer@{tServer}!wHandle@{wHandle}}
  88 +\index{wHandle@{wHandle}!tServer@{tServer}}
  89 +\subsubsection[{wHandle}]{\setlength{\rightskip}{0pt plus 5cm}FILE$\ast$ {\bf tServer::wHandle}}}
  90 +\label{structtServer_8fc3e5e54d17d86d21874d5987a080af}
  91 +
  92 +
  93 +
  94 +
  95 +Definition at line 16 of file server.h.
  96 +
  97 +The documentation for this struct was generated from the following file:\begin{CompactItemize}
  98 +\item
  99 +include/\hyperlink{server_8h}{server.h}\end{CompactItemize}
... ...
  1 +\hypertarget{writeBuffer_8c}{
  2 +\section{reader/commonReader/writeBuffer.c File Reference}
  3 +\label{writeBuffer_8c}\index{reader/commonReader/writeBuffer.c@{reader/commonReader/writeBuffer.c}}
  4 +}
  5 +{\tt \#include $<$stdio.h$>$}\par
  6 +{\tt \#include $<$string.h$>$}\par
  7 +\subsection*{Functions}
  8 +\begin{CompactItemize}
  9 +\item
  10 +int \hyperlink{writeBuffer_8c_a947cab623514e5a9c9700bca074b77e}{writeBuffer} (char $\ast$$\ast$buffer, unsigned int $\ast$readPos, FILE $\ast$wHandle)
  11 +\end{CompactItemize}
  12 +
  13 +
  14 +\subsection{Function Documentation}
  15 +\hypertarget{writeBuffer_8c_a947cab623514e5a9c9700bca074b77e}{
  16 +\index{writeBuffer.c@{writeBuffer.c}!writeBuffer@{writeBuffer}}
  17 +\index{writeBuffer@{writeBuffer}!writeBuffer.c@{writeBuffer.c}}
  18 +\subsubsection[{writeBuffer}]{\setlength{\rightskip}{0pt plus 5cm}int writeBuffer (char $\ast$$\ast$ {\em buffer}, \/ unsigned int $\ast$ {\em readPos}, \/ FILE $\ast$ {\em wHandle})}}
  19 +\label{writeBuffer_8c_a947cab623514e5a9c9700bca074b77e}
  20 +
  21 +
  22 +
  23 +
  24 +Definition at line 6 of file writeBuffer.c.
\ No newline at end of file
... ...
  1 +\hypertarget{writeBuffer_8h}{
  2 +\section{include/writeBuffer.h File Reference}
  3 +\label{writeBuffer_8h}\index{include/writeBuffer.h@{include/writeBuffer.h}}
  4 +}
  5 +{\tt \#include $<$stdio.h$>$}\par
  6 +\subsection*{Functions}
  7 +\begin{CompactItemize}
  8 +\item
  9 +int \hyperlink{writeBuffer_8h_a947cab623514e5a9c9700bca074b77e}{writeBuffer} (char $\ast$$\ast$buffer, unsigned int $\ast$readPos, FILE $\ast$wHandle)
  10 +\end{CompactItemize}
  11 +
  12 +
  13 +\subsection{Function Documentation}
  14 +\hypertarget{writeBuffer_8h_a947cab623514e5a9c9700bca074b77e}{
  15 +\index{writeBuffer.h@{writeBuffer.h}!writeBuffer@{writeBuffer}}
  16 +\index{writeBuffer@{writeBuffer}!writeBuffer.h@{writeBuffer.h}}
  17 +\subsubsection[{writeBuffer}]{\setlength{\rightskip}{0pt plus 5cm}int writeBuffer (char $\ast$$\ast$ {\em buffer}, \/ unsigned int $\ast$ {\em readPos}, \/ FILE $\ast$ {\em wHandle})}}
  18 +\label{writeBuffer_8h_a947cab623514e5a9c9700bca074b77e}
  19 +
  20 +
  21 +
  22 +
  23 +Definition at line 6 of file writeBuffer.c.
\ No newline at end of file
... ...
  1 +# Doxyfile 1.5.8
  2 +
  3 +# This file describes the settings to be used by the documentation system
  4 +# doxygen (www.doxygen.org) for a project
  5 +#
  6 +# All text after a hash (#) is considered a comment and will be ignored
  7 +# The format is:
  8 +# TAG = value [value, ...]
  9 +# For lists items can also be appended using:
  10 +# TAG += value [value, ...]
  11 +# Values that contain spaces should be placed between quotes (" ")
  12 +
  13 +#---------------------------------------------------------------------------
  14 +# Project related configuration options
  15 +#---------------------------------------------------------------------------
  16 +
  17 +# This tag specifies the encoding used for all characters in the config file
  18 +# that follow. The default is UTF-8 which is also the encoding used for all
  19 +# text before the first occurrence of this tag. Doxygen uses libiconv (or the
  20 +# iconv built into libc) for the transcoding. See
  21 +# http://www.gnu.org/software/libiconv for the list of possible encodings.
  22 +
  23 +DOXYFILE_ENCODING = UTF-8
  24 +
  25 +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
  26 +# by quotes) that should identify the project.
  27 +
  28 +PROJECT_NAME = xmlrpc
  29 +
  30 +# The PROJECT_NUMBER tag can be used to enter a project or revision number.
  31 +# This could be handy for archiving the generated documentation or
  32 +# if some version control system is used.
  33 +
  34 +PROJECT_NUMBER = 0.0.1
  35 +
  36 +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
  37 +# base path where the generated documentation will be put.
  38 +# If a relative path is entered, it will be relative to the location
  39 +# where doxygen was started. If left blank the current directory will be used.
  40 +
  41 +OUTPUT_DIRECTORY = .doc
  42 +
  43 +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
  44 +# 4096 sub-directories (in 2 levels) under the output directory of each output
  45 +# format and will distribute the generated files over these directories.
  46 +# Enabling this option can be useful when feeding doxygen a huge amount of
  47 +# source files, where putting all generated files in the same directory would
  48 +# otherwise cause performance problems for the file system.
  49 +
  50 +CREATE_SUBDIRS = NO
  51 +
  52 +# The OUTPUT_LANGUAGE tag is used to specify the language in which all
  53 +# documentation generated by doxygen is written. Doxygen will use this
  54 +# information to generate all constant output in the proper language.
  55 +# The default language is English, other supported languages are:
  56 +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
  57 +# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
  58 +# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
  59 +# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
  60 +# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,
  61 +# Spanish, Swedish, and Ukrainian.
  62 +
  63 +OUTPUT_LANGUAGE = English
  64 +
  65 +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
  66 +# include brief member descriptions after the members that are listed in
  67 +# the file and class documentation (similar to JavaDoc).
  68 +# Set to NO to disable this.
  69 +
  70 +BRIEF_MEMBER_DESC = YES
  71 +
  72 +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
  73 +# the brief description of a member or function before the detailed description.
  74 +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
  75 +# brief descriptions will be completely suppressed.
  76 +
  77 +REPEAT_BRIEF = YES
  78 +
  79 +# This tag implements a quasi-intelligent brief description abbreviator
  80 +# that is used to form the text in various listings. Each string
  81 +# in this list, if found as the leading text of the brief description, will be
  82 +# stripped from the text and the result after processing the whole list, is
  83 +# used as the annotated text. Otherwise, the brief description is used as-is.
  84 +# If left blank, the following values are used ("$name" is automatically
  85 +# replaced with the name of the entity): "The $name class" "The $name widget"
  86 +# "The $name file" "is" "provides" "specifies" "contains"
  87 +# "represents" "a" "an" "the"
  88 +
  89 +ABBREVIATE_BRIEF =
  90 +
  91 +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
  92 +# Doxygen will generate a detailed section even if there is only a brief
  93 +# description.
  94 +
  95 +ALWAYS_DETAILED_SEC = NO
  96 +
  97 +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
  98 +# inherited members of a class in the documentation of that class as if those
  99 +# members were ordinary class members. Constructors, destructors and assignment
  100 +# operators of the base classes will not be shown.
  101 +
  102 +INLINE_INHERITED_MEMB = NO
  103 +
  104 +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
  105 +# path before files name in the file list and in the header files. If set
  106 +# to NO the shortest path that makes the file name unique will be used.
  107 +
  108 +FULL_PATH_NAMES = YES
  109 +
  110 +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
  111 +# can be used to strip a user-defined part of the path. Stripping is
  112 +# only done if one of the specified strings matches the left-hand part of
  113 +# the path. The tag can be used to show relative paths in the file list.
  114 +# If left blank the directory from which doxygen is run is used as the
  115 +# path to strip.
  116 +
  117 +STRIP_FROM_PATH =
  118 +
  119 +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
  120 +# the path mentioned in the documentation of a class, which tells
  121 +# the reader which header file to include in order to use a class.
  122 +# If left blank only the name of the header file containing the class
  123 +# definition is used. Otherwise one should specify the include paths that
  124 +# are normally passed to the compiler using the -I flag.
  125 +
  126 +STRIP_FROM_INC_PATH =
  127 +
  128 +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
  129 +# (but less readable) file names. This can be useful is your file systems
  130 +# doesn't support long names like on DOS, Mac, or CD-ROM.
  131 +
  132 +SHORT_NAMES = NO
  133 +
  134 +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
  135 +# will interpret the first line (until the first dot) of a JavaDoc-style
  136 +# comment as the brief description. If set to NO, the JavaDoc
  137 +# comments will behave just like regular Qt-style comments
  138 +# (thus requiring an explicit @brief command for a brief description.)
  139 +
  140 +JAVADOC_AUTOBRIEF = NO
  141 +
  142 +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
  143 +# interpret the first line (until the first dot) of a Qt-style
  144 +# comment as the brief description. If set to NO, the comments
  145 +# will behave just like regular Qt-style comments (thus requiring
  146 +# an explicit \brief command for a brief description.)
  147 +
  148 +QT_AUTOBRIEF = NO
  149 +
  150 +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
  151 +# treat a multi-line C++ special comment block (i.e. a block of //! or ///
  152 +# comments) as a brief description. This used to be the default behaviour.
  153 +# The new default is to treat a multi-line C++ comment block as a detailed
  154 +# description. Set this tag to YES if you prefer the old behaviour instead.
  155 +
  156 +MULTILINE_CPP_IS_BRIEF = NO
  157 +
  158 +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
  159 +# member inherits the documentation from any documented member that it
  160 +# re-implements.
  161 +
  162 +INHERIT_DOCS = YES
  163 +
  164 +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
  165 +# a new page for each member. If set to NO, the documentation of a member will
  166 +# be part of the file/class/namespace that contains it.
  167 +
  168 +SEPARATE_MEMBER_PAGES = NO
  169 +
  170 +# The TAB_SIZE tag can be used to set the number of spaces in a tab.
  171 +# Doxygen uses this value to replace tabs by spaces in code fragments.
  172 +
  173 +TAB_SIZE = 8
  174 +
  175 +# This tag can be used to specify a number of aliases that acts
  176 +# as commands in the documentation. An alias has the form "name=value".
  177 +# For example adding "sideeffect=\par Side Effects:\n" will allow you to
  178 +# put the command \sideeffect (or @sideeffect) in the documentation, which
  179 +# will result in a user-defined paragraph with heading "Side Effects:".
  180 +# You can put \n's in the value part of an alias to insert newlines.
  181 +
  182 +ALIASES =
  183 +
  184 +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
  185 +# sources only. Doxygen will then generate output that is more tailored for C.
  186 +# For instance, some of the names that are used will be different. The list
  187 +# of all members will be omitted, etc.
  188 +
  189 +OPTIMIZE_OUTPUT_FOR_C = YES
  190 +
  191 +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
  192 +# sources only. Doxygen will then generate output that is more tailored for
  193 +# Java. For instance, namespaces will be presented as packages, qualified
  194 +# scopes will look different, etc.
  195 +
  196 +OPTIMIZE_OUTPUT_JAVA = NO
  197 +
  198 +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
  199 +# sources only. Doxygen will then generate output that is more tailored for
  200 +# Fortran.
  201 +
  202 +OPTIMIZE_FOR_FORTRAN = NO
  203 +
  204 +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
  205 +# sources. Doxygen will then generate output that is tailored for
  206 +# VHDL.
  207 +
  208 +OPTIMIZE_OUTPUT_VHDL = NO
  209 +
  210 +# Doxygen selects the parser to use depending on the extension of the files it parses.
  211 +# With this tag you can assign which parser to use for a given extension.
  212 +# Doxygen has a built-in mapping, but you can override or extend it using this tag.
  213 +# The format is ext=language, where ext is a file extension, and language is one of
  214 +# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
  215 +# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
  216 +# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
  217 +# use: inc=Fortran f=C
  218 +
  219 +EXTENSION_MAPPING =
  220 +
  221 +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
  222 +# to include (a tag file for) the STL sources as input, then you should
  223 +# set this tag to YES in order to let doxygen match functions declarations and
  224 +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
  225 +# func(std::string) {}). This also make the inheritance and collaboration
  226 +# diagrams that involve STL classes more complete and accurate.
  227 +
  228 +BUILTIN_STL_SUPPORT = NO
  229 +
  230 +# If you use Microsoft's C++/CLI language, you should set this option to YES to
  231 +# enable parsing support.
  232 +
  233 +CPP_CLI_SUPPORT = NO
  234 +
  235 +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
  236 +# Doxygen will parse them like normal C++ but will assume all classes use public
  237 +# instead of private inheritance when no explicit protection keyword is present.
  238 +
  239 +SIP_SUPPORT = NO
  240 +
  241 +# For Microsoft's IDL there are propget and propput attributes to indicate getter
  242 +# and setter methods for a property. Setting this option to YES (the default)
  243 +# will make doxygen to replace the get and set methods by a property in the
  244 +# documentation. This will only work if the methods are indeed getting or
  245 +# setting a simple type. If this is not the case, or you want to show the
  246 +# methods anyway, you should set this option to NO.
  247 +
  248 +IDL_PROPERTY_SUPPORT = YES
  249 +
  250 +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
  251 +# tag is set to YES, then doxygen will reuse the documentation of the first
  252 +# member in the group (if any) for the other members of the group. By default
  253 +# all members of a group must be documented explicitly.
  254 +
  255 +DISTRIBUTE_GROUP_DOC = NO
  256 +
  257 +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
  258 +# the same type (for instance a group of public functions) to be put as a
  259 +# subgroup of that type (e.g. under the Public Functions section). Set it to
  260 +# NO to prevent subgrouping. Alternatively, this can be done per class using
  261 +# the \nosubgrouping command.
  262 +
  263 +SUBGROUPING = YES
  264 +
  265 +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
  266 +# is documented as struct, union, or enum with the name of the typedef. So
  267 +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
  268 +# with name TypeT. When disabled the typedef will appear as a member of a file,
  269 +# namespace, or class. And the struct will be named TypeS. This can typically
  270 +# be useful for C code in case the coding convention dictates that all compound
  271 +# types are typedef'ed and only the typedef is referenced, never the tag name.
  272 +
  273 +TYPEDEF_HIDES_STRUCT = NO
  274 +
  275 +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
  276 +# determine which symbols to keep in memory and which to flush to disk.
  277 +# When the cache is full, less often used symbols will be written to disk.
  278 +# For small to medium size projects (<1000 input files) the default value is
  279 +# probably good enough. For larger projects a too small cache size can cause
  280 +# doxygen to be busy swapping symbols to and from disk most of the time
  281 +# causing a significant performance penality.
  282 +# If the system has enough physical memory increasing the cache will improve the
  283 +# performance by keeping more symbols in memory. Note that the value works on
  284 +# a logarithmic scale so increasing the size by one will rougly double the
  285 +# memory usage. The cache size is given by this formula:
  286 +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
  287 +# corresponding to a cache size of 2^16 = 65536 symbols
  288 +
  289 +SYMBOL_CACHE_SIZE = 0
  290 +
  291 +#---------------------------------------------------------------------------
  292 +# Build related configuration options
  293 +#---------------------------------------------------------------------------
  294 +
  295 +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
  296 +# documentation are documented, even if no documentation was available.
  297 +# Private class members and static file members will be hidden unless
  298 +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
  299 +
  300 +EXTRACT_ALL = YES
  301 +
  302 +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
  303 +# will be included in the documentation.
  304 +
  305 +EXTRACT_PRIVATE = NO
  306 +
  307 +# If the EXTRACT_STATIC tag is set to YES all static members of a file
  308 +# will be included in the documentation.
  309 +
  310 +EXTRACT_STATIC = NO
  311 +
  312 +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
  313 +# defined locally in source files will be included in the documentation.
  314 +# If set to NO only classes defined in header files are included.
  315 +
  316 +EXTRACT_LOCAL_CLASSES = YES
  317 +
  318 +# This flag is only useful for Objective-C code. When set to YES local
  319 +# methods, which are defined in the implementation section but not in
  320 +# the interface are included in the documentation.
  321 +# If set to NO (the default) only methods in the interface are included.
  322 +
  323 +EXTRACT_LOCAL_METHODS = NO
  324 +
  325 +# If this flag is set to YES, the members of anonymous namespaces will be
  326 +# extracted and appear in the documentation as a namespace called
  327 +# 'anonymous_namespace{file}', where file will be replaced with the base
  328 +# name of the file that contains the anonymous namespace. By default
  329 +# anonymous namespace are hidden.
  330 +
  331 +EXTRACT_ANON_NSPACES = NO
  332 +
  333 +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
  334 +# undocumented members of documented classes, files or namespaces.
  335 +# If set to NO (the default) these members will be included in the
  336 +# various overviews, but no documentation section is generated.
  337 +# This option has no effect if EXTRACT_ALL is enabled.
  338 +
  339 +HIDE_UNDOC_MEMBERS = NO
  340 +
  341 +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
  342 +# undocumented classes that are normally visible in the class hierarchy.
  343 +# If set to NO (the default) these classes will be included in the various
  344 +# overviews. This option has no effect if EXTRACT_ALL is enabled.
  345 +
  346 +HIDE_UNDOC_CLASSES = NO
  347 +
  348 +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
  349 +# friend (class|struct|union) declarations.
  350 +# If set to NO (the default) these declarations will be included in the
  351 +# documentation.
  352 +
  353 +HIDE_FRIEND_COMPOUNDS = NO
  354 +
  355 +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
  356 +# documentation blocks found inside the body of a function.
  357 +# If set to NO (the default) these blocks will be appended to the
  358 +# function's detailed documentation block.
  359 +
  360 +HIDE_IN_BODY_DOCS = NO
  361 +
  362 +# The INTERNAL_DOCS tag determines if documentation
  363 +# that is typed after a \internal command is included. If the tag is set
  364 +# to NO (the default) then the documentation will be excluded.
  365 +# Set it to YES to include the internal documentation.
  366 +
  367 +INTERNAL_DOCS = NO
  368 +
  369 +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
  370 +# file names in lower-case letters. If set to YES upper-case letters are also
  371 +# allowed. This is useful if you have classes or files whose names only differ
  372 +# in case and if your file system supports case sensitive file names. Windows
  373 +# and Mac users are advised to set this option to NO.
  374 +
  375 +CASE_SENSE_NAMES = YES
  376 +
  377 +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
  378 +# will show members with their full class and namespace scopes in the
  379 +# documentation. If set to YES the scope will be hidden.
  380 +
  381 +HIDE_SCOPE_NAMES = NO
  382 +
  383 +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
  384 +# will put a list of the files that are included by a file in the documentation
  385 +# of that file.
  386 +
  387 +SHOW_INCLUDE_FILES = YES
  388 +
  389 +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
  390 +# is inserted in the documentation for inline members.
  391 +
  392 +INLINE_INFO = YES
  393 +
  394 +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
  395 +# will sort the (detailed) documentation of file and class members
  396 +# alphabetically by member name. If set to NO the members will appear in
  397 +# declaration order.
  398 +
  399 +SORT_MEMBER_DOCS = YES
  400 +
  401 +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
  402 +# brief documentation of file, namespace and class members alphabetically
  403 +# by member name. If set to NO (the default) the members will appear in
  404 +# declaration order.
  405 +
  406 +SORT_BRIEF_DOCS = NO
  407 +
  408 +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
  409 +# hierarchy of group names into alphabetical order. If set to NO (the default)
  410 +# the group names will appear in their defined order.
  411 +
  412 +SORT_GROUP_NAMES = NO
  413 +
  414 +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
  415 +# sorted by fully-qualified names, including namespaces. If set to
  416 +# NO (the default), the class list will be sorted only by class name,
  417 +# not including the namespace part.
  418 +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
  419 +# Note: This option applies only to the class list, not to the
  420 +# alphabetical list.
  421 +
  422 +SORT_BY_SCOPE_NAME = NO
  423 +
  424 +# The GENERATE_TODOLIST tag can be used to enable (YES) or
  425 +# disable (NO) the todo list. This list is created by putting \todo
  426 +# commands in the documentation.
  427 +
  428 +GENERATE_TODOLIST = YES
  429 +
  430 +# The GENERATE_TESTLIST tag can be used to enable (YES) or
  431 +# disable (NO) the test list. This list is created by putting \test
  432 +# commands in the documentation.
  433 +
  434 +GENERATE_TESTLIST = YES
  435 +
  436 +# The GENERATE_BUGLIST tag can be used to enable (YES) or
  437 +# disable (NO) the bug list. This list is created by putting \bug
  438 +# commands in the documentation.
  439 +
  440 +GENERATE_BUGLIST = YES
  441 +
  442 +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
  443 +# disable (NO) the deprecated list. This list is created by putting
  444 +# \deprecated commands in the documentation.
  445 +
  446 +GENERATE_DEPRECATEDLIST= YES
  447 +
  448 +# The ENABLED_SECTIONS tag can be used to enable conditional
  449 +# documentation sections, marked by \if sectionname ... \endif.
  450 +
  451 +ENABLED_SECTIONS =
  452 +
  453 +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
  454 +# the initial value of a variable or define consists of for it to appear in
  455 +# the documentation. If the initializer consists of more lines than specified
  456 +# here it will be hidden. Use a value of 0 to hide initializers completely.
  457 +# The appearance of the initializer of individual variables and defines in the
  458 +# documentation can be controlled using \showinitializer or \hideinitializer
  459 +# command in the documentation regardless of this setting.
  460 +
  461 +MAX_INITIALIZER_LINES = 30
  462 +
  463 +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
  464 +# at the bottom of the documentation of classes and structs. If set to YES the
  465 +# list will mention the files that were used to generate the documentation.
  466 +
  467 +SHOW_USED_FILES = YES
  468 +
  469 +# If the sources in your project are distributed over multiple directories
  470 +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
  471 +# in the documentation. The default is NO.
  472 +
  473 +SHOW_DIRECTORIES = NO
  474 +
  475 +# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
  476 +# This will remove the Files entry from the Quick Index and from the
  477 +# Folder Tree View (if specified). The default is YES.
  478 +
  479 +SHOW_FILES = YES
  480 +
  481 +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
  482 +# Namespaces page.
  483 +# This will remove the Namespaces entry from the Quick Index
  484 +# and from the Folder Tree View (if specified). The default is YES.
  485 +
  486 +SHOW_NAMESPACES = YES
  487 +
  488 +# The FILE_VERSION_FILTER tag can be used to specify a program or script that
  489 +# doxygen should invoke to get the current version for each file (typically from
  490 +# the version control system). Doxygen will invoke the program by executing (via
  491 +# popen()) the command <command> <input-file>, where <command> is the value of
  492 +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
  493 +# provided by doxygen. Whatever the program writes to standard output
  494 +# is used as the file version. See the manual for examples.
  495 +
  496 +FILE_VERSION_FILTER =
  497 +
  498 +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
  499 +# doxygen. The layout file controls the global structure of the generated output files
  500 +# in an output format independent way. The create the layout file that represents
  501 +# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
  502 +# file name after the option, if omitted DoxygenLayout.xml will be used as the name
  503 +# of the layout file.
  504 +
  505 +LAYOUT_FILE =
  506 +
  507 +#---------------------------------------------------------------------------
  508 +# configuration options related to warning and progress messages
  509 +#---------------------------------------------------------------------------
  510 +
  511 +# The QUIET tag can be used to turn on/off the messages that are generated
  512 +# by doxygen. Possible values are YES and NO. If left blank NO is used.
  513 +
  514 +QUIET = NO
  515 +
  516 +# The WARNINGS tag can be used to turn on/off the warning messages that are
  517 +# generated by doxygen. Possible values are YES and NO. If left blank
  518 +# NO is used.
  519 +
  520 +WARNINGS = YES
  521 +
  522 +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
  523 +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
  524 +# automatically be disabled.
  525 +
  526 +WARN_IF_UNDOCUMENTED = YES
  527 +
  528 +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
  529 +# potential errors in the documentation, such as not documenting some
  530 +# parameters in a documented function, or documenting parameters that
  531 +# don't exist or using markup commands wrongly.
  532 +
  533 +WARN_IF_DOC_ERROR = YES
  534 +
  535 +# This WARN_NO_PARAMDOC option can be abled to get warnings for
  536 +# functions that are documented, but have no documentation for their parameters
  537 +# or return value. If set to NO (the default) doxygen will only warn about
  538 +# wrong or incomplete parameter documentation, but not about the absence of
  539 +# documentation.
  540 +
  541 +WARN_NO_PARAMDOC = NO
  542 +
  543 +# The WARN_FORMAT tag determines the format of the warning messages that
  544 +# doxygen can produce. The string should contain the $file, $line, and $text
  545 +# tags, which will be replaced by the file and line number from which the
  546 +# warning originated and the warning text. Optionally the format may contain
  547 +# $version, which will be replaced by the version of the file (if it could
  548 +# be obtained via FILE_VERSION_FILTER)
  549 +
  550 +WARN_FORMAT = "$file:$line: $text"
  551 +
  552 +# The WARN_LOGFILE tag can be used to specify a file to which warning
  553 +# and error messages should be written. If left blank the output is written
  554 +# to stderr.
  555 +
  556 +WARN_LOGFILE =
  557 +
  558 +#---------------------------------------------------------------------------
  559 +# configuration options related to the input files
  560 +#---------------------------------------------------------------------------
  561 +
  562 +# The INPUT tag can be used to specify the files and/or directories that contain
  563 +# documented source files. You may enter file names like "myfile.cpp" or
  564 +# directories like "/usr/src/myproject". Separate the files or directories
  565 +# with spaces.
  566 +
  567 +INPUT = include reader server system
  568 +
  569 +# This tag can be used to specify the character encoding of the source files
  570 +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
  571 +# also the default input encoding. Doxygen uses libiconv (or the iconv built
  572 +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
  573 +# the list of possible encodings.
  574 +
  575 +INPUT_ENCODING = UTF-8
  576 +
  577 +# If the value of the INPUT tag contains directories, you can use the
  578 +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
  579 +# and *.h) to filter out the source-files in the directories. If left
  580 +# blank the following patterns are tested:
  581 +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
  582 +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
  583 +
  584 +FILE_PATTERNS =
  585 +
  586 +# The RECURSIVE tag can be used to turn specify whether or not subdirectories
  587 +# should be searched for input files as well. Possible values are YES and NO.
  588 +# If left blank NO is used.
  589 +
  590 +RECURSIVE = YES
  591 +
  592 +# The EXCLUDE tag can be used to specify files and/or directories that should
  593 +# excluded from the INPUT source files. This way you can easily exclude a
  594 +# subdirectory from a directory tree whose root is specified with the INPUT tag.
  595 +
  596 +EXCLUDE =
  597 +
  598 +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
  599 +# directories that are symbolic links (a Unix filesystem feature) are excluded
  600 +# from the input.
  601 +
  602 +EXCLUDE_SYMLINKS = NO
  603 +
  604 +# If the value of the INPUT tag contains directories, you can use the
  605 +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
  606 +# certain files from those directories. Note that the wildcards are matched
  607 +# against the file with absolute path, so to exclude all test directories
  608 +# for example use the pattern */test/*
  609 +
  610 +EXCLUDE_PATTERNS =
  611 +
  612 +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
  613 +# (namespaces, classes, functions, etc.) that should be excluded from the
  614 +# output. The symbol name can be a fully qualified name, a word, or if the
  615 +# wildcard * is used, a substring. Examples: ANamespace, AClass,
  616 +# AClass::ANamespace, ANamespace::*Test
  617 +
  618 +EXCLUDE_SYMBOLS =
  619 +
  620 +# The EXAMPLE_PATH tag can be used to specify one or more files or
  621 +# directories that contain example code fragments that are included (see
  622 +# the \include command).
  623 +
  624 +EXAMPLE_PATH =
  625 +
  626 +# If the value of the EXAMPLE_PATH tag contains directories, you can use the
  627 +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
  628 +# and *.h) to filter out the source-files in the directories. If left
  629 +# blank all files are included.
  630 +
  631 +EXAMPLE_PATTERNS =
  632 +
  633 +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
  634 +# searched for input files to be used with the \include or \dontinclude
  635 +# commands irrespective of the value of the RECURSIVE tag.
  636 +# Possible values are YES and NO. If left blank NO is used.
  637 +
  638 +EXAMPLE_RECURSIVE = NO
  639 +
  640 +# The IMAGE_PATH tag can be used to specify one or more files or
  641 +# directories that contain image that are included in the documentation (see
  642 +# the \image command).
  643 +
  644 +IMAGE_PATH =
  645 +
  646 +# The INPUT_FILTER tag can be used to specify a program that doxygen should
  647 +# invoke to filter for each input file. Doxygen will invoke the filter program
  648 +# by executing (via popen()) the command <filter> <input-file>, where <filter>
  649 +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
  650 +# input file. Doxygen will then use the output that the filter program writes
  651 +# to standard output.
  652 +# If FILTER_PATTERNS is specified, this tag will be
  653 +# ignored.
  654 +
  655 +INPUT_FILTER =
  656 +
  657 +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
  658 +# basis.
  659 +# Doxygen will compare the file name with each pattern and apply the
  660 +# filter if there is a match.
  661 +# The filters are a list of the form:
  662 +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
  663 +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
  664 +# is applied to all files.
  665 +
  666 +FILTER_PATTERNS =
  667 +
  668 +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
  669 +# INPUT_FILTER) will be used to filter the input files when producing source
  670 +# files to browse (i.e. when SOURCE_BROWSER is set to YES).
  671 +
  672 +FILTER_SOURCE_FILES = NO
  673 +
  674 +#---------------------------------------------------------------------------
  675 +# configuration options related to source browsing
  676 +#---------------------------------------------------------------------------
  677 +
  678 +# If the SOURCE_BROWSER tag is set to YES then a list of source files will
  679 +# be generated. Documented entities will be cross-referenced with these sources.
  680 +# Note: To get rid of all source code in the generated output, make sure also
  681 +# VERBATIM_HEADERS is set to NO.
  682 +
  683 +SOURCE_BROWSER = YES
  684 +
  685 +# Setting the INLINE_SOURCES tag to YES will include the body
  686 +# of functions and classes directly in the documentation.
  687 +
  688 +INLINE_SOURCES = NO
  689 +
  690 +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
  691 +# doxygen to hide any special comment blocks from generated source code
  692 +# fragments. Normal C and C++ comments will always remain visible.
  693 +
  694 +STRIP_CODE_COMMENTS = NO
  695 +
  696 +# If the REFERENCED_BY_RELATION tag is set to YES
  697 +# then for each documented function all documented
  698 +# functions referencing it will be listed.
  699 +
  700 +REFERENCED_BY_RELATION = NO
  701 +
  702 +# If the REFERENCES_RELATION tag is set to YES
  703 +# then for each documented function all documented entities
  704 +# called/used by that function will be listed.
  705 +
  706 +REFERENCES_RELATION = NO
  707 +
  708 +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
  709 +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
  710 +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
  711 +# link to the source code.
  712 +# Otherwise they will link to the documentation.
  713 +
  714 +REFERENCES_LINK_SOURCE = YES
  715 +
  716 +# If the USE_HTAGS tag is set to YES then the references to source code
  717 +# will point to the HTML generated by the htags(1) tool instead of doxygen
  718 +# built-in source browser. The htags tool is part of GNU's global source
  719 +# tagging system (see http://www.gnu.org/software/global/global.html). You
  720 +# will need version 4.8.6 or higher.
  721 +
  722 +USE_HTAGS = NO
  723 +
  724 +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
  725 +# will generate a verbatim copy of the header file for each class for
  726 +# which an include is specified. Set to NO to disable this.
  727 +
  728 +VERBATIM_HEADERS = YES
  729 +
  730 +#---------------------------------------------------------------------------
  731 +# configuration options related to the alphabetical class index
  732 +#---------------------------------------------------------------------------
  733 +
  734 +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
  735 +# of all compounds will be generated. Enable this if the project
  736 +# contains a lot of classes, structs, unions or interfaces.
  737 +
  738 +ALPHABETICAL_INDEX = NO
  739 +
  740 +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
  741 +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
  742 +# in which this list will be split (can be a number in the range [1..20])
  743 +
  744 +COLS_IN_ALPHA_INDEX = 5
  745 +
  746 +# In case all classes in a project start with a common prefix, all
  747 +# classes will be put under the same header in the alphabetical index.
  748 +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
  749 +# should be ignored while generating the index headers.
  750 +
  751 +IGNORE_PREFIX =
  752 +
  753 +#---------------------------------------------------------------------------
  754 +# configuration options related to the HTML output
  755 +#---------------------------------------------------------------------------
  756 +
  757 +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
  758 +# generate HTML output.
  759 +
  760 +GENERATE_HTML = YES
  761 +
  762 +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
  763 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  764 +# put in front of it. If left blank `html' will be used as the default path.
  765 +
  766 +HTML_OUTPUT = html
  767 +
  768 +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
  769 +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
  770 +# doxygen will generate files with .html extension.
  771 +
  772 +HTML_FILE_EXTENSION = .html
  773 +
  774 +# The HTML_HEADER tag can be used to specify a personal HTML header for
  775 +# each generated HTML page. If it is left blank doxygen will generate a
  776 +# standard header.
  777 +
  778 +HTML_HEADER =
  779 +
  780 +# The HTML_FOOTER tag can be used to specify a personal HTML footer for
  781 +# each generated HTML page. If it is left blank doxygen will generate a
  782 +# standard footer.
  783 +
  784 +HTML_FOOTER =
  785 +
  786 +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
  787 +# style sheet that is used by each HTML page. It can be used to
  788 +# fine-tune the look of the HTML output. If the tag is left blank doxygen
  789 +# will generate a default style sheet. Note that doxygen will try to copy
  790 +# the style sheet file to the HTML output directory, so don't put your own
  791 +# stylesheet in the HTML output directory as well, or it will be erased!
  792 +
  793 +HTML_STYLESHEET =
  794 +
  795 +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
  796 +# files or namespaces will be aligned in HTML using tables. If set to
  797 +# NO a bullet list will be used.
  798 +
  799 +HTML_ALIGN_MEMBERS = YES
  800 +
  801 +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
  802 +# documentation will contain sections that can be hidden and shown after the
  803 +# page has loaded. For this to work a browser that supports
  804 +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
  805 +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
  806 +
  807 +HTML_DYNAMIC_SECTIONS = NO
  808 +
  809 +# If the GENERATE_DOCSET tag is set to YES, additional index files
  810 +# will be generated that can be used as input for Apple's Xcode 3
  811 +# integrated development environment, introduced with OSX 10.5 (Leopard).
  812 +# To create a documentation set, doxygen will generate a Makefile in the
  813 +# HTML output directory. Running make will produce the docset in that
  814 +# directory and running "make install" will install the docset in
  815 +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
  816 +# it at startup.
  817 +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
  818 +
  819 +GENERATE_DOCSET = NO
  820 +
  821 +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
  822 +# feed. A documentation feed provides an umbrella under which multiple
  823 +# documentation sets from a single provider (such as a company or product suite)
  824 +# can be grouped.
  825 +
  826 +DOCSET_FEEDNAME = "Doxygen generated docs"
  827 +
  828 +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
  829 +# should uniquely identify the documentation set bundle. This should be a
  830 +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
  831 +# will append .docset to the name.
  832 +
  833 +DOCSET_BUNDLE_ID = org.doxygen.Project
  834 +
  835 +# If the GENERATE_HTMLHELP tag is set to YES, additional index files
  836 +# will be generated that can be used as input for tools like the
  837 +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
  838 +# of the generated HTML documentation.
  839 +
  840 +GENERATE_HTMLHELP = NO
  841 +
  842 +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
  843 +# be used to specify the file name of the resulting .chm file. You
  844 +# can add a path in front of the file if the result should not be
  845 +# written to the html output directory.
  846 +
  847 +CHM_FILE =
  848 +
  849 +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
  850 +# be used to specify the location (absolute path including file name) of
  851 +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
  852 +# the HTML help compiler on the generated index.hhp.
  853 +
  854 +HHC_LOCATION =
  855 +
  856 +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
  857 +# controls if a separate .chi index file is generated (YES) or that
  858 +# it should be included in the master .chm file (NO).
  859 +
  860 +GENERATE_CHI = NO
  861 +
  862 +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
  863 +# is used to encode HtmlHelp index (hhk), content (hhc) and project file
  864 +# content.
  865 +
  866 +CHM_INDEX_ENCODING =
  867 +
  868 +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
  869 +# controls whether a binary table of contents is generated (YES) or a
  870 +# normal table of contents (NO) in the .chm file.
  871 +
  872 +BINARY_TOC = NO
  873 +
  874 +# The TOC_EXPAND flag can be set to YES to add extra items for group members
  875 +# to the contents of the HTML help documentation and to the tree view.
  876 +
  877 +TOC_EXPAND = NO
  878 +
  879 +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
  880 +# are set, an additional index file will be generated that can be used as input for
  881 +# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
  882 +# HTML documentation.
  883 +
  884 +GENERATE_QHP = NO
  885 +
  886 +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
  887 +# be used to specify the file name of the resulting .qch file.
  888 +# The path specified is relative to the HTML output folder.
  889 +
  890 +QCH_FILE =
  891 +
  892 +# The QHP_NAMESPACE tag specifies the namespace to use when generating
  893 +# Qt Help Project output. For more information please see
  894 +# http://doc.trolltech.com/qthelpproject.html#namespace
  895 +
  896 +QHP_NAMESPACE =
  897 +
  898 +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
  899 +# Qt Help Project output. For more information please see
  900 +# http://doc.trolltech.com/qthelpproject.html#virtual-folders
  901 +
  902 +QHP_VIRTUAL_FOLDER = doc
  903 +
  904 +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
  905 +# For more information please see
  906 +# http://doc.trolltech.com/qthelpproject.html#custom-filters
  907 +
  908 +QHP_CUST_FILTER_NAME =
  909 +
  910 +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
  911 +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
  912 +
  913 +QHP_CUST_FILTER_ATTRS =
  914 +
  915 +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
  916 +# filter section matches.
  917 +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
  918 +
  919 +QHP_SECT_FILTER_ATTRS =
  920 +
  921 +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
  922 +# be used to specify the location of Qt's qhelpgenerator.
  923 +# If non-empty doxygen will try to run qhelpgenerator on the generated
  924 +# .qhp file.
  925 +
  926 +QHG_LOCATION =
  927 +
  928 +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
  929 +# top of each HTML page. The value NO (the default) enables the index and
  930 +# the value YES disables it.
  931 +
  932 +DISABLE_INDEX = NO
  933 +
  934 +# This tag can be used to set the number of enum values (range [1..20])
  935 +# that doxygen will group on one line in the generated HTML documentation.
  936 +
  937 +ENUM_VALUES_PER_LINE = 4
  938 +
  939 +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
  940 +# structure should be generated to display hierarchical information.
  941 +# If the tag value is set to FRAME, a side panel will be generated
  942 +# containing a tree-like index structure (just like the one that
  943 +# is generated for HTML Help). For this to work a browser that supports
  944 +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
  945 +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
  946 +# probably better off using the HTML help feature. Other possible values
  947 +# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
  948 +# and Class Hierarchy pages using a tree view instead of an ordered list;
  949 +# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
  950 +# disables this behavior completely. For backwards compatibility with previous
  951 +# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
  952 +# respectively.
  953 +
  954 +GENERATE_TREEVIEW = ALL
  955 +
  956 +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
  957 +# used to set the initial width (in pixels) of the frame in which the tree
  958 +# is shown.
  959 +
  960 +TREEVIEW_WIDTH = 250
  961 +
  962 +# Use this tag to change the font size of Latex formulas included
  963 +# as images in the HTML documentation. The default is 10. Note that
  964 +# when you change the font size after a successful doxygen run you need
  965 +# to manually remove any form_*.png images from the HTML output directory
  966 +# to force them to be regenerated.
  967 +
  968 +FORMULA_FONTSIZE = 10
  969 +
  970 +#---------------------------------------------------------------------------
  971 +# configuration options related to the LaTeX output
  972 +#---------------------------------------------------------------------------
  973 +
  974 +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
  975 +# generate Latex output.
  976 +
  977 +GENERATE_LATEX = YES
  978 +
  979 +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
  980 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  981 +# put in front of it. If left blank `latex' will be used as the default path.
  982 +
  983 +LATEX_OUTPUT = latex
  984 +
  985 +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
  986 +# invoked. If left blank `latex' will be used as the default command name.
  987 +
  988 +LATEX_CMD_NAME = latex
  989 +
  990 +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
  991 +# generate index for LaTeX. If left blank `makeindex' will be used as the
  992 +# default command name.
  993 +
  994 +MAKEINDEX_CMD_NAME = makeindex
  995 +
  996 +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
  997 +# LaTeX documents. This may be useful for small projects and may help to
  998 +# save some trees in general.
  999 +
  1000 +COMPACT_LATEX = NO
  1001 +
  1002 +# The PAPER_TYPE tag can be used to set the paper type that is used
  1003 +# by the printer. Possible values are: a4, a4wide, letter, legal and
  1004 +# executive. If left blank a4wide will be used.
  1005 +
  1006 +PAPER_TYPE = a4wide
  1007 +
  1008 +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
  1009 +# packages that should be included in the LaTeX output.
  1010 +
  1011 +EXTRA_PACKAGES =
  1012 +
  1013 +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
  1014 +# the generated latex document. The header should contain everything until
  1015 +# the first chapter. If it is left blank doxygen will generate a
  1016 +# standard header. Notice: only use this tag if you know what you are doing!
  1017 +
  1018 +LATEX_HEADER =
  1019 +
  1020 +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
  1021 +# is prepared for conversion to pdf (using ps2pdf). The pdf file will
  1022 +# contain links (just like the HTML output) instead of page references
  1023 +# This makes the output suitable for online browsing using a pdf viewer.
  1024 +
  1025 +PDF_HYPERLINKS = YES
  1026 +
  1027 +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
  1028 +# plain latex in the generated Makefile. Set this option to YES to get a
  1029 +# higher quality PDF documentation.
  1030 +
  1031 +USE_PDFLATEX = YES
  1032 +
  1033 +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
  1034 +# command to the generated LaTeX files. This will instruct LaTeX to keep
  1035 +# running if errors occur, instead of asking the user for help.
  1036 +# This option is also used when generating formulas in HTML.
  1037 +
  1038 +LATEX_BATCHMODE = NO
  1039 +
  1040 +# If LATEX_HIDE_INDICES is set to YES then doxygen will not
  1041 +# include the index chapters (such as File Index, Compound Index, etc.)
  1042 +# in the output.
  1043 +
  1044 +LATEX_HIDE_INDICES = NO
  1045 +
  1046 +#---------------------------------------------------------------------------
  1047 +# configuration options related to the RTF output
  1048 +#---------------------------------------------------------------------------
  1049 +
  1050 +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
  1051 +# The RTF output is optimized for Word 97 and may not look very pretty with
  1052 +# other RTF readers or editors.
  1053 +
  1054 +GENERATE_RTF = NO
  1055 +
  1056 +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
  1057 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  1058 +# put in front of it. If left blank `rtf' will be used as the default path.
  1059 +
  1060 +RTF_OUTPUT = rtf
  1061 +
  1062 +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
  1063 +# RTF documents. This may be useful for small projects and may help to
  1064 +# save some trees in general.
  1065 +
  1066 +COMPACT_RTF = NO
  1067 +
  1068 +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
  1069 +# will contain hyperlink fields. The RTF file will
  1070 +# contain links (just like the HTML output) instead of page references.
  1071 +# This makes the output suitable for online browsing using WORD or other
  1072 +# programs which support those fields.
  1073 +# Note: wordpad (write) and others do not support links.
  1074 +
  1075 +RTF_HYPERLINKS = NO
  1076 +
  1077 +# Load stylesheet definitions from file. Syntax is similar to doxygen's
  1078 +# config file, i.e. a series of assignments. You only have to provide
  1079 +# replacements, missing definitions are set to their default value.
  1080 +
  1081 +RTF_STYLESHEET_FILE =
  1082 +
  1083 +# Set optional variables used in the generation of an rtf document.
  1084 +# Syntax is similar to doxygen's config file.
  1085 +
  1086 +RTF_EXTENSIONS_FILE =
  1087 +
  1088 +#---------------------------------------------------------------------------
  1089 +# configuration options related to the man page output
  1090 +#---------------------------------------------------------------------------
  1091 +
  1092 +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
  1093 +# generate man pages
  1094 +
  1095 +GENERATE_MAN = NO
  1096 +
  1097 +# The MAN_OUTPUT tag is used to specify where the man pages will be put.
  1098 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  1099 +# put in front of it. If left blank `man' will be used as the default path.
  1100 +
  1101 +MAN_OUTPUT = man
  1102 +
  1103 +# The MAN_EXTENSION tag determines the extension that is added to
  1104 +# the generated man pages (default is the subroutine's section .3)
  1105 +
  1106 +MAN_EXTENSION = .3
  1107 +
  1108 +# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
  1109 +# then it will generate one additional man file for each entity
  1110 +# documented in the real man page(s). These additional files
  1111 +# only source the real man page, but without them the man command
  1112 +# would be unable to find the correct page. The default is NO.
  1113 +
  1114 +MAN_LINKS = NO
  1115 +
  1116 +#---------------------------------------------------------------------------
  1117 +# configuration options related to the XML output
  1118 +#---------------------------------------------------------------------------
  1119 +
  1120 +# If the GENERATE_XML tag is set to YES Doxygen will
  1121 +# generate an XML file that captures the structure of
  1122 +# the code including all documentation.
  1123 +
  1124 +GENERATE_XML = NO
  1125 +
  1126 +# The XML_OUTPUT tag is used to specify where the XML pages will be put.
  1127 +# If a relative path is entered the value of OUTPUT_DIRECTORY will be
  1128 +# put in front of it. If left blank `xml' will be used as the default path.
  1129 +
  1130 +XML_OUTPUT = xml
  1131 +
  1132 +# The XML_SCHEMA tag can be used to specify an XML schema,
  1133 +# which can be used by a validating XML parser to check the
  1134 +# syntax of the XML files.
  1135 +
  1136 +XML_SCHEMA =
  1137 +
  1138 +# The XML_DTD tag can be used to specify an XML DTD,
  1139 +# which can be used by a validating XML parser to check the
  1140 +# syntax of the XML files.
  1141 +
  1142 +XML_DTD =
  1143 +
  1144 +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
  1145 +# dump the program listings (including syntax highlighting
  1146 +# and cross-referencing information) to the XML output. Note that
  1147 +# enabling this will significantly increase the size of the XML output.
  1148 +
  1149 +XML_PROGRAMLISTING = YES
  1150 +
  1151 +#---------------------------------------------------------------------------
  1152 +# configuration options for the AutoGen Definitions output
  1153 +#---------------------------------------------------------------------------
  1154 +
  1155 +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
  1156 +# generate an AutoGen Definitions (see autogen.sf.net) file
  1157 +# that captures the structure of the code including all
  1158 +# documentation. Note that this feature is still experimental
  1159 +# and incomplete at the moment.
  1160 +
  1161 +GENERATE_AUTOGEN_DEF = NO
  1162 +
  1163 +#---------------------------------------------------------------------------
  1164 +# configuration options related to the Perl module output
  1165 +#---------------------------------------------------------------------------
  1166 +
  1167 +# If the GENERATE_PERLMOD tag is set to YES Doxygen will
  1168 +# generate a Perl module file that captures the structure of
  1169 +# the code including all documentation. Note that this
  1170 +# feature is still experimental and incomplete at the
  1171 +# moment.
  1172 +
  1173 +GENERATE_PERLMOD = NO
  1174 +
  1175 +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
  1176 +# the necessary Makefile rules, Perl scripts and LaTeX code to be able
  1177 +# to generate PDF and DVI output from the Perl module output.
  1178 +
  1179 +PERLMOD_LATEX = NO
  1180 +
  1181 +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
  1182 +# nicely formatted so it can be parsed by a human reader.
  1183 +# This is useful
  1184 +# if you want to understand what is going on.
  1185 +# On the other hand, if this
  1186 +# tag is set to NO the size of the Perl module output will be much smaller
  1187 +# and Perl will parse it just the same.
  1188 +
  1189 +PERLMOD_PRETTY = YES
  1190 +
  1191 +# The names of the make variables in the generated doxyrules.make file
  1192 +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
  1193 +# This is useful so different doxyrules.make files included by the same
  1194 +# Makefile don't overwrite each other's variables.
  1195 +
  1196 +PERLMOD_MAKEVAR_PREFIX =
  1197 +
  1198 +#---------------------------------------------------------------------------
  1199 +# Configuration options related to the preprocessor
  1200 +#---------------------------------------------------------------------------
  1201 +
  1202 +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
  1203 +# evaluate all C-preprocessor directives found in the sources and include
  1204 +# files.
  1205 +
  1206 +ENABLE_PREPROCESSING = YES
  1207 +
  1208 +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
  1209 +# names in the source code. If set to NO (the default) only conditional
  1210 +# compilation will be performed. Macro expansion can be done in a controlled
  1211 +# way by setting EXPAND_ONLY_PREDEF to YES.
  1212 +
  1213 +MACRO_EXPANSION = NO
  1214 +
  1215 +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
  1216 +# then the macro expansion is limited to the macros specified with the
  1217 +# PREDEFINED and EXPAND_AS_DEFINED tags.
  1218 +
  1219 +EXPAND_ONLY_PREDEF = NO
  1220 +
  1221 +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
  1222 +# in the INCLUDE_PATH (see below) will be search if a #include is found.
  1223 +
  1224 +SEARCH_INCLUDES = YES
  1225 +
  1226 +# The INCLUDE_PATH tag can be used to specify one or more directories that
  1227 +# contain include files that are not input files but should be processed by
  1228 +# the preprocessor.
  1229 +
  1230 +INCLUDE_PATH =
  1231 +
  1232 +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
  1233 +# patterns (like *.h and *.hpp) to filter out the header-files in the
  1234 +# directories. If left blank, the patterns specified with FILE_PATTERNS will
  1235 +# be used.
  1236 +
  1237 +INCLUDE_FILE_PATTERNS =
  1238 +
  1239 +# The PREDEFINED tag can be used to specify one or more macro names that
  1240 +# are defined before the preprocessor is started (similar to the -D option of
  1241 +# gcc). The argument of the tag is a list of macros of the form: name
  1242 +# or name=definition (no spaces). If the definition and the = are
  1243 +# omitted =1 is assumed. To prevent a macro definition from being
  1244 +# undefined via #undef or recursively expanded use the := operator
  1245 +# instead of the = operator.
  1246 +
  1247 +PREDEFINED =
  1248 +
  1249 +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
  1250 +# this tag can be used to specify a list of macro names that should be expanded.
  1251 +# The macro definition that is found in the sources will be used.
  1252 +# Use the PREDEFINED tag if you want to use a different macro definition.
  1253 +
  1254 +EXPAND_AS_DEFINED =
  1255 +
  1256 +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
  1257 +# doxygen's preprocessor will remove all function-like macros that are alone
  1258 +# on a line, have an all uppercase name, and do not end with a semicolon. Such
  1259 +# function macros are typically used for boiler-plate code, and will confuse
  1260 +# the parser if not removed.
  1261 +
  1262 +SKIP_FUNCTION_MACROS = YES
  1263 +
  1264 +#---------------------------------------------------------------------------
  1265 +# Configuration::additions related to external references
  1266 +#---------------------------------------------------------------------------
  1267 +
  1268 +# The TAGFILES option can be used to specify one or more tagfiles.
  1269 +# Optionally an initial location of the external documentation
  1270 +# can be added for each tagfile. The format of a tag file without
  1271 +# this location is as follows:
  1272 +#
  1273 +# TAGFILES = file1 file2 ...
  1274 +# Adding location for the tag files is done as follows:
  1275 +#
  1276 +# TAGFILES = file1=loc1 "file2 = loc2" ...
  1277 +# where "loc1" and "loc2" can be relative or absolute paths or
  1278 +# URLs. If a location is present for each tag, the installdox tool
  1279 +# does not have to be run to correct the links.
  1280 +# Note that each tag file must have a unique name
  1281 +# (where the name does NOT include the path)
  1282 +# If a tag file is not located in the directory in which doxygen
  1283 +# is run, you must also specify the path to the tagfile here.
  1284 +
  1285 +TAGFILES =
  1286 +
  1287 +# When a file name is specified after GENERATE_TAGFILE, doxygen will create
  1288 +# a tag file that is based on the input files it reads.
  1289 +
  1290 +GENERATE_TAGFILE =
  1291 +
  1292 +# If the ALLEXTERNALS tag is set to YES all external classes will be listed
  1293 +# in the class index. If set to NO only the inherited external classes
  1294 +# will be listed.
  1295 +
  1296 +ALLEXTERNALS = NO
  1297 +
  1298 +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
  1299 +# in the modules index. If set to NO, only the current project's groups will
  1300 +# be listed.
  1301 +
  1302 +EXTERNAL_GROUPS = YES
  1303 +
  1304 +# The PERL_PATH should be the absolute path and name of the perl script
  1305 +# interpreter (i.e. the result of `which perl').
  1306 +
  1307 +PERL_PATH = /usr/bin/perl
  1308 +
  1309 +#---------------------------------------------------------------------------
  1310 +# Configuration options related to the dot tool
  1311 +#---------------------------------------------------------------------------
  1312 +
  1313 +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
  1314 +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
  1315 +# or super classes. Setting the tag to NO turns the diagrams off. Note that
  1316 +# this option is superseded by the HAVE_DOT option below. This is only a
  1317 +# fallback. It is recommended to install and use dot, since it yields more
  1318 +# powerful graphs.
  1319 +
  1320 +CLASS_DIAGRAMS = YES
  1321 +
  1322 +# You can define message sequence charts within doxygen comments using the \msc
  1323 +# command. Doxygen will then run the mscgen tool (see
  1324 +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
  1325 +# documentation. The MSCGEN_PATH tag allows you to specify the directory where
  1326 +# the mscgen tool resides. If left empty the tool is assumed to be found in the
  1327 +# default search path.
  1328 +
  1329 +MSCGEN_PATH =
  1330 +
  1331 +# If set to YES, the inheritance and collaboration graphs will hide
  1332 +# inheritance and usage relations if the target is undocumented
  1333 +# or is not a class.
  1334 +
  1335 +HIDE_UNDOC_RELATIONS = YES
  1336 +
  1337 +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
  1338 +# available from the path. This tool is part of Graphviz, a graph visualization
  1339 +# toolkit from AT&T and Lucent Bell Labs. The other options in this section
  1340 +# have no effect if this option is set to NO (the default)
  1341 +
  1342 +HAVE_DOT = NO
  1343 +
  1344 +# By default doxygen will write a font called FreeSans.ttf to the output
  1345 +# directory and reference it in all dot files that doxygen generates. This
  1346 +# font does not include all possible unicode characters however, so when you need
  1347 +# these (or just want a differently looking font) you can specify the font name
  1348 +# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
  1349 +# which can be done by putting it in a standard location or by setting the
  1350 +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
  1351 +# containing the font.
  1352 +
  1353 +DOT_FONTNAME = FreeSans
  1354 +
  1355 +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
  1356 +# The default size is 10pt.
  1357 +
  1358 +DOT_FONTSIZE = 10
  1359 +
  1360 +# By default doxygen will tell dot to use the output directory to look for the
  1361 +# FreeSans.ttf font (which doxygen will put there itself). If you specify a
  1362 +# different font using DOT_FONTNAME you can set the path where dot
  1363 +# can find it using this tag.
  1364 +
  1365 +DOT_FONTPATH =
  1366 +
  1367 +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
  1368 +# will generate a graph for each documented class showing the direct and
  1369 +# indirect inheritance relations. Setting this tag to YES will force the
  1370 +# the CLASS_DIAGRAMS tag to NO.
  1371 +
  1372 +CLASS_GRAPH = YES
  1373 +
  1374 +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
  1375 +# will generate a graph for each documented class showing the direct and
  1376 +# indirect implementation dependencies (inheritance, containment, and
  1377 +# class references variables) of the class with other documented classes.
  1378 +
  1379 +COLLABORATION_GRAPH = YES
  1380 +
  1381 +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
  1382 +# will generate a graph for groups, showing the direct groups dependencies
  1383 +
  1384 +GROUP_GRAPHS = YES
  1385 +
  1386 +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
  1387 +# collaboration diagrams in a style similar to the OMG's Unified Modeling
  1388 +# Language.
  1389 +
  1390 +UML_LOOK = NO
  1391 +
  1392 +# If set to YES, the inheritance and collaboration graphs will show the
  1393 +# relations between templates and their instances.
  1394 +
  1395 +TEMPLATE_RELATIONS = NO
  1396 +
  1397 +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
  1398 +# tags are set to YES then doxygen will generate a graph for each documented
  1399 +# file showing the direct and indirect include dependencies of the file with
  1400 +# other documented files.
  1401 +
  1402 +INCLUDE_GRAPH = YES
  1403 +
  1404 +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
  1405 +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
  1406 +# documented header file showing the documented files that directly or
  1407 +# indirectly include this file.
  1408 +
  1409 +INCLUDED_BY_GRAPH = YES
  1410 +
  1411 +# If the CALL_GRAPH and HAVE_DOT options are set to YES then
  1412 +# doxygen will generate a call dependency graph for every global function
  1413 +# or class method. Note that enabling this option will significantly increase
  1414 +# the time of a run. So in most cases it will be better to enable call graphs
  1415 +# for selected functions only using the \callgraph command.
  1416 +
  1417 +CALL_GRAPH = NO
  1418 +
  1419 +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
  1420 +# doxygen will generate a caller dependency graph for every global function
  1421 +# or class method. Note that enabling this option will significantly increase
  1422 +# the time of a run. So in most cases it will be better to enable caller
  1423 +# graphs for selected functions only using the \callergraph command.
  1424 +
  1425 +CALLER_GRAPH = NO
  1426 +
  1427 +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
  1428 +# will graphical hierarchy of all classes instead of a textual one.
  1429 +
  1430 +GRAPHICAL_HIERARCHY = YES
  1431 +
  1432 +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
  1433 +# then doxygen will show the dependencies a directory has on other directories
  1434 +# in a graphical way. The dependency relations are determined by the #include
  1435 +# relations between the files in the directories.
  1436 +
  1437 +DIRECTORY_GRAPH = YES
  1438 +
  1439 +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
  1440 +# generated by dot. Possible values are png, jpg, or gif
  1441 +# If left blank png will be used.
  1442 +
  1443 +DOT_IMAGE_FORMAT = png
  1444 +
  1445 +# The tag DOT_PATH can be used to specify the path where the dot tool can be
  1446 +# found. If left blank, it is assumed the dot tool can be found in the path.
  1447 +
  1448 +DOT_PATH =
  1449 +
  1450 +# The DOTFILE_DIRS tag can be used to specify one or more directories that
  1451 +# contain dot files that are included in the documentation (see the
  1452 +# \dotfile command).
  1453 +
  1454 +DOTFILE_DIRS =
  1455 +
  1456 +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
  1457 +# nodes that will be shown in the graph. If the number of nodes in a graph
  1458 +# becomes larger than this value, doxygen will truncate the graph, which is
  1459 +# visualized by representing a node as a red box. Note that doxygen if the
  1460 +# number of direct children of the root node in a graph is already larger than
  1461 +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
  1462 +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
  1463 +
  1464 +DOT_GRAPH_MAX_NODES = 50
  1465 +
  1466 +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
  1467 +# graphs generated by dot. A depth value of 3 means that only nodes reachable
  1468 +# from the root by following a path via at most 3 edges will be shown. Nodes
  1469 +# that lay further from the root node will be omitted. Note that setting this
  1470 +# option to 1 or 2 may greatly reduce the computation time needed for large
  1471 +# code bases. Also note that the size of a graph can be further restricted by
  1472 +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
  1473 +
  1474 +MAX_DOT_GRAPH_DEPTH = 0
  1475 +
  1476 +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
  1477 +# background. This is disabled by default, because dot on Windows does not
  1478 +# seem to support this out of the box. Warning: Depending on the platform used,
  1479 +# enabling this option may lead to badly anti-aliased labels on the edges of
  1480 +# a graph (i.e. they become hard to read).
  1481 +
  1482 +DOT_TRANSPARENT = NO
  1483 +
  1484 +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
  1485 +# files in one run (i.e. multiple -o and -T options on the command line). This
  1486 +# makes dot run faster, but since only newer versions of dot (>1.8.10)
  1487 +# support this, this feature is disabled by default.
  1488 +
  1489 +DOT_MULTI_TARGETS = NO
  1490 +
  1491 +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
  1492 +# generate a legend page explaining the meaning of the various boxes and
  1493 +# arrows in the dot generated graphs.
  1494 +
  1495 +GENERATE_LEGEND = YES
  1496 +
  1497 +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
  1498 +# remove the intermediate dot files that are used to generate
  1499 +# the various graphs.
  1500 +
  1501 +DOT_CLEANUP = YES
  1502 +
  1503 +#---------------------------------------------------------------------------
  1504 +# Options related to the search engine
  1505 +#---------------------------------------------------------------------------
  1506 +
  1507 +# The SEARCHENGINE tag specifies whether or not a search engine should be
  1508 +# used. If set to NO the values of all tags below this one will be ignored.
  1509 +
  1510 +SEARCHENGINE = NO
... ...
... ... @@ -38,6 +38,9 @@ $(PROJECT).o: server.h monitor.h signalHandling.h daemonize.h appConfig.h
38 38 %.o: %.c
39 39 gcc $(CFLAGS) -c $< -o $@
40 40
  41 +doc:
  42 + doxygen
  43 +
41 44 ###
42 45 # PHONYS
43 46 #
... ...
... ... @@ -190,14 +190,3 @@ clientRemoveLine(tClient * client, const char * delim, unsigned int * len)
190 190 return NULL;
191 191 }
192 192
193   -/*
194   - * fill a buffer from a stream. This call might not fill the whole
195   - * buffer at once, as not len size data might have been written to
196   - * the stream. In this case it returns a pointer to the position
197   - * the next read has to occur.
198   - * SIDEEFFECT: additially *len is set to the remaining size to read.
199   - */
200   -char *
201   -clientGetBuffer(tClient * client, char * buffer, unsigned int * len)
202   -{
203   -}
... ...
Please register or login to post a comment