Commit 445fc19214c060e588ab3002a9556f1fb69da083

Authored by Georg Hopp
1 parent 4882c95c

first documentation add

Too many changes to show.

To preserve performance only 48 of 48+ files are displayed.

  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>
Please register or login to post a comment