Browse Source

now just ignore doc dir, as it can be generated

master
Georg Hopp 15 years ago
parent
commit
fbc2b5278f
  1. 38
      .doc/html/annotated.html
  2. 56
      .doc/html/appConfig_8h-source.html
  3. 248
      .doc/html/appConfig_8h.html
  4. 33
      .doc/html/classes.html
  5. 66
      .doc/html/clientClose_8c-source.html
  6. 68
      .doc/html/clientClose_8c.html
  7. 219
      .doc/html/clientRead_8c-source.html
  8. 263
      .doc/html/clientRead_8c.html
  9. 67
      .doc/html/client_8h-source.html
  10. 287
      .doc/html/client_8h.html
  11. 50
      .doc/html/daemonize_8c-source.html
  12. 63
      .doc/html/daemonize_8c.html
  13. 33
      .doc/html/daemonize_8h-source.html
  14. 60
      .doc/html/daemonize_8h.html
  15. 441
      .doc/html/doxygen.css
  16. BIN
      .doc/html/doxygen.png
  17. 54
      .doc/html/files.html
  18. BIN
      .doc/html/ftv2blank.png
  19. BIN
      .doc/html/ftv2doc.png
  20. BIN
      .doc/html/ftv2folderclosed.png
  21. BIN
      .doc/html/ftv2folderopen.png
  22. BIN
      .doc/html/ftv2lastnode.png
  23. BIN
      .doc/html/ftv2link.png
  24. BIN
      .doc/html/ftv2mlastnode.png
  25. BIN
      .doc/html/ftv2mnode.png
  26. BIN
      .doc/html/ftv2node.png
  27. BIN
      .doc/html/ftv2plastnode.png
  28. BIN
      .doc/html/ftv2pnode.png
  29. BIN
      .doc/html/ftv2vertline.png
  30. 148
      .doc/html/functions.html
  31. 148
      .doc/html/functions_vars.html
  32. 247
      .doc/html/globals.html
  33. 133
      .doc/html/globals_defs.html
  34. 164
      .doc/html/globals_func.html
  35. 55
      .doc/html/globals_vars.html
  36. 97
      .doc/html/handleCmdLine_8c-source.html
  37. 80
      .doc/html/handleCmdLine_8c.html
  38. 282
      .doc/html/httpRequest_8c-source.html
  39. 347
      .doc/html/httpRequest_8c.html
  40. 77
      .doc/html/httpRequest_8h-source.html
  41. 433
      .doc/html/httpRequest_8h.html
  42. 11
      .doc/html/index.html
  43. 110
      .doc/html/logRotate_8c-source.html
  44. 105
      .doc/html/logRotate_8c.html
  45. 33
      .doc/html/logRotate_8h-source.html
  46. 75
      .doc/html/logRotate_8h.html
  47. 25
      .doc/html/main.html
  48. 114
      .doc/html/monitor_8c-source.html
  49. 221
      .doc/html/monitor_8c.html
  50. 41
      .doc/html/monitor_8h-source.html
  51. 203
      .doc/html/monitor_8h.html
  52. 67
      .doc/html/serverInit_8c-source.html
  53. 94
      .doc/html/serverInit_8c.html
  54. 265
      .doc/html/serverRun_8c-source.html
  55. 188
      .doc/html/serverRun_8c.html
  56. 62
      .doc/html/serverShutdown_8c-source.html
  57. 70
      .doc/html/serverShutdown_8c.html
  58. 56
      .doc/html/server_8h-source.html
  59. 141
      .doc/html/server_8h.html
  60. 53
      .doc/html/signalHandling_8c-source.html
  61. 107
      .doc/html/signalHandling_8c.html
  62. 37
      .doc/html/signalHandling_8h-source.html
  63. 105
      .doc/html/signalHandling_8h.html
  64. 102
      .doc/html/socket_8c-source.html
  65. 130
      .doc/html/socket_8c.html
  66. 36
      .doc/html/socket_8h-source.html
  67. 103
      .doc/html/socket_8h.html
  68. 155
      .doc/html/structtAppConfig.html
  69. 231
      .doc/html/structtClient.html
  70. 117
      .doc/html/structtHttpHeader.html
  71. 79
      .doc/html/structtHttpHeaderLine.html
  72. 98
      .doc/html/structtHttpRequest.html
  73. 98
      .doc/html/structtRequestLine.html
  74. 174
      .doc/html/structtServer.html
  75. BIN
      .doc/html/tab_b.gif
  76. BIN
      .doc/html/tab_l.gif
  77. BIN
      .doc/html/tab_r.gif
  78. 105
      .doc/html/tabs.css
  79. 106
      .doc/html/tree.html
  80. 75
      .doc/html/writeBuffer_8c-source.html
  81. 77
      .doc/html/writeBuffer_8c.html
  82. 35
      .doc/html/writeBuffer_8h-source.html
  83. 76
      .doc/html/writeBuffer_8h.html
  84. BIN
      .doc/latex/FreeSans.ttf
  85. 19
      .doc/latex/Makefile
  86. 10
      .doc/latex/annotated.tex
  87. 121
      .doc/latex/appConfig_8h.tex
  88. 30
      .doc/latex/clientClose_8c.tex
  89. 100
      .doc/latex/clientRead_8c.tex
  90. 136
      .doc/latex/client_8h.tex
  91. 25
      .doc/latex/daemonize_8c.tex
  92. 22
      .doc/latex/daemonize_8h.tex
  93. 86
      .doc/latex/doxygen.sty
  94. 26
      .doc/latex/files.tex
  95. 27
      .doc/latex/handleCmdLine_8c.tex
  96. 154
      .doc/latex/httpRequest_8c.tex
  97. 210
      .doc/latex/httpRequest_8h.tex
  98. 47
      .doc/latex/logRotate_8c.tex
  99. 22
      .doc/latex/logRotate_8h.tex
  100. 108
      .doc/latex/monitor_8c.tex

38
.doc/html/annotated.html

@ -1,38 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Data Structures</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>Data Structures</h1>Here are the data structures with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="structtAppConfig.html">tAppConfig</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structtClient.html">tClient</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structtHttpHeader.html">tHttpHeader</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structtHttpHeaderLine.html">tHttpHeaderLine</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structtHttpRequest.html">tHttpRequest</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structtRequestLine.html">tRequestLine</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structtServer.html">tServer</a></td><td class="indexvalue"></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

56
.doc/html/appConfig_8h-source.html

@ -1,56 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/appConfig.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __APP_CONFIG_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<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>
<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>
<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>
<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>
<a name="l00008"></a><a class="code" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">00008</a> <span class="preprocessor">#define DEFAULTPATH "logfiles"</span>
<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>
<a name="l00010"></a>00010 <span class="preprocessor"></span>
<a name="l00011"></a>00011 <span class="preprocessor">#undef MAX</span>
<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>
<a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#undef MIN</span>
<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>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a><a class="code" href="structtAppConfig.html">00017</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<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>;
<a name="l00019"></a><a class="code" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">00019</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> doDaemon;
<a name="l00020"></a><a class="code" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">00020</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxPending;
<a name="l00021"></a><a class="code" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">00021</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> port;
<a name="l00022"></a><a class="code" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">00022</a> <span class="keywordtype">char</span> logPath[513];
<a name="l00023"></a><a class="code" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">00023</a> <span class="keywordtype">char</span> namePat[513];
<a name="l00024"></a>00024 } <a class="code" href="structtAppConfig.html">tAppConfig</a>;
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keywordtype">int</span>
<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[]);
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#endif // __APP_CONFIG_H__</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

248
.doc/html/appConfig_8h.html

@ -1,248 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/appConfig.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/appConfig.h File Reference</h1>
<p>
<a href="appConfig_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<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>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="0672e2d34f3bbe2f6cdad6f307b9d1cf"></a><!-- doxytag: member="appConfig.h::DEFAULTPATH" ref="0672e2d34f3bbe2f6cdad6f307b9d1cf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEFAULTPATH&nbsp;&nbsp;&nbsp;&quot;logfiles&quot; </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="3db4dba8d56385b62759b89c98cae447"></a><!-- doxytag: member="appConfig.h::DEFAULTPORT" ref="3db4dba8d56385b62759b89c98cae447" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEFAULTPORT&nbsp;&nbsp;&nbsp;8801 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="9a98b2d0f973e357020c1274ec5b56c0"></a><!-- doxytag: member="appConfig.h::LOGNAMEPATTERN" ref="9a98b2d0f973e357020c1274ec5b56c0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LOGNAMEPATTERN&nbsp;&nbsp;&nbsp;&quot;log-%Y-%m-%d_%Hh&quot; </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="acc3ee1a7f283f8ef65cea31f4436a95"></a><!-- doxytag: member="appConfig.h::MAX" ref="acc3ee1a7f283f8ef65cea31f4436a95" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAX </td>
<td>(</td>
<td class="paramtype">x, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">y&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;((x) &gt; (y) ? (x) : (y))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="ce5c08f66edfc6ae44edaeef6b6101b6"></a><!-- doxytag: member="appConfig.h::MAXCLIENTS" ref="ce5c08f66edfc6ae44edaeef6b6101b6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAXCLIENTS&nbsp;&nbsp;&nbsp;1000 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="f77ed3e65a7b1a9341603d152a1404df"></a><!-- doxytag: member="appConfig.h::MAXPENDING" ref="f77ed3e65a7b1a9341603d152a1404df" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAXPENDING&nbsp;&nbsp;&nbsp;10 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="74e75242132eaabbc1c512488a135926"></a><!-- doxytag: member="appConfig.h::MIN" ref="74e75242132eaabbc1c512488a135926" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MIN </td>
<td>(</td>
<td class="paramtype">x, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">y&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;((x) &lt; (y) ? (x) : (y))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="a0534241791f23ec8098503582406166"></a><!-- doxytag: member="appConfig.h::READBUFSIZE" ref="a0534241791f23ec8098503582406166" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define READBUFSIZE&nbsp;&nbsp;&nbsp;2048 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="3755d793d10d6e5793ed5086a0b22964"></a><!-- doxytag: member="appConfig.h::handleCmdLine" ref="3755d793d10d6e5793ed5086a0b22964" args="(tAppConfig *config, int argc, char *argv[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int handleCmdLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtAppConfig.html">tAppConfig</a> *&nbsp;</td>
<td class="paramname"> <em>config</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>argv</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

33
.doc/html/classes.html

@ -1,33 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Alphabetical List</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>Data Structure Index</h1><p><div class="qindex"><a class="qindex" href="#letter_T">T</a></div><p>
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<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>
</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>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

66
.doc/html/clientClose_8c-source.html

@ -1,66 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: reader/commonReader/clientClose.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for close() */</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span> <span class="comment">/* for shutdown() */</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;expat.h&gt;</span>
<a name="l00007"></a>00007
<a name="l00008"></a>00008 <span class="preprocessor">#include "../../include/client.h"</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include "../../include/monitor.h"</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include "../../include/httpRequest.h"</span>
<a name="l00011"></a>00011
<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)
<a name="l00013"></a>00013 {
<a name="l00014"></a>00014 <span class="keywordflow">if</span> (0 != <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>) {
<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>);
<a name="l00016"></a>00016 }
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="comment">/* close socket an remove from fd_set */</span>
<a name="l00019"></a>00019 shutdown(client-&gt;<a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a>, SHUT_RDWR);
<a name="l00020"></a>00020 close(client-&gt;<a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a>);
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="comment">/* free readBuffer */</span>
<a name="l00023"></a>00023 <span class="keywordflow">if</span> (NULL != client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>) {
<a name="l00024"></a>00024 free(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>);
<a name="l00025"></a>00025 client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> = NULL;
<a name="l00026"></a>00026 }
<a name="l00027"></a>00027 <span class="keywordflow">if</span> (NULL != client-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>) {
<a name="l00028"></a>00028 free(client-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>);
<a name="l00029"></a>00029 client-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> = NULL;
<a name="l00030"></a>00030 }
<a name="l00031"></a>00031 client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> = 0;
<a name="l00032"></a>00032 client-&gt;<a class="code" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">writePos</a> = 0;
<a name="l00033"></a>00033
<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>));
<a name="l00035"></a>00035
<a name="l00036"></a>00036 XML_ParserFree(client-&gt;<a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a>);
<a name="l00037"></a>00037
<a name="l00038"></a>00038 memset(client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>, 0, 16);
<a name="l00039"></a>00039 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

68
.doc/html/clientClose_8c.html

@ -1,68 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: reader/commonReader/clientClose.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>reader/commonReader/clientClose.c File Reference</h1><code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;sys/socket.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;expat.h&gt;</code><br>
<code>#include &quot;<a class="el" href="client_8h-source.html">../../include/client.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../../include/monitor.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="httpRequest_8h-source.html">../../include/httpRequest.h</a>&quot;</code><br>
<p>
<a href="clientClose_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a9dad65338aa78062b23a924ae1d2b59"></a><!-- doxytag: member="clientClose.c::clientClose" ref="a9dad65338aa78062b23a924ae1d2b59" args="(tClient *client)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void clientClose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname"> <em>client</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

219
.doc/html/clientRead_8c-source.html

@ -1,219 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: reader/commonReader/clientRead.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for exit */</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;errno.h&gt;</span> <span class="comment">/* for errno */</span>
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="preprocessor">#include "../../include/client.h"</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include "../../include/monitor.h"</span>
<a name="l00008"></a>00008
<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>
<a name="l00010"></a>00010 <span class="preprocessor"></span>
<a name="l00011"></a>00011 <span class="keyword">static</span> <span class="keywordtype">int</span>
<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)
<a name="l00013"></a>00013 {
<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);
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="keywordflow">if</span> (<a class="code" href="client_8h.html#eefa2efc8515c7f8334de344e8a07fbf">CLIENTMULTMAX</a> &lt; newMult) {
<a name="l00017"></a>00017 <span class="comment">/* line exceeds maximum line length */</span>
<a name="l00018"></a>00018 <span class="keywordflow">return</span> 0;
<a name="l00019"></a>00019 }
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="keywordflow">if</span> (client-&gt;<a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a> &lt; newMult) {
<a name="l00022"></a>00022
<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>));
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keywordflow">if</span> (NULL == newBuffer) {
<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>,
<a name="l00027"></a>00027 <span class="stringliteral">"calloc for readbuffer[%s] failed"</span>,
<a name="l00028"></a>00028 client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>);
<a name="l00029"></a>00029
<a name="l00030"></a>00030 exit(EXIT_FAILURE);
<a name="l00031"></a>00031 }
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="keywordflow">if</span> (NULL != client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>) {
<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>);
<a name="l00035"></a>00035 free(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>);
<a name="l00036"></a>00036
<a name="l00037"></a>00037 client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> = newBuffer;
<a name="l00038"></a>00038 client-&gt;<a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a> = newMult;
<a name="l00039"></a>00039 } <span class="keywordflow">else</span> {
<a name="l00040"></a>00040 <span class="comment">/*</span>
<a name="l00041"></a>00041 <span class="comment"> * we can't get the resized buffer so return the</span>
<a name="l00042"></a>00042 <span class="comment"> * old multiplier</span>
<a name="l00043"></a>00043 <span class="comment"> */</span>
<a name="l00044"></a>00044 newMult = client-&gt;<a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a>;
<a name="l00045"></a>00045 }
<a name="l00046"></a>00046
<a name="l00047"></a>00047 }
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keywordflow">return</span> newMult;
<a name="l00050"></a>00050 }
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keywordtype">int</span>
<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)
<a name="l00054"></a>00054 {
<a name="l00055"></a>00055 <span class="keywordtype">int</span> readSize;
<a name="l00056"></a>00056 <span class="keywordtype">char</span> readBuf[<a class="code" href="appConfig_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>];
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="comment">/*</span>
<a name="l00059"></a>00059 <span class="comment"> * initialize values // read data from socket</span>
<a name="l00060"></a>00060 <span class="comment"> */</span>
<a name="l00061"></a>00061 memset(readBuf, 0, <a class="code" href="appConfig_8h.html#a0534241791f23ec8098503582406166">READBUFSIZE</a>);
<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>);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keywordflow">switch</span> (readSize) {
<a name="l00065"></a>00065 <span class="keywordflow">case</span> -1:
<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>,
<a name="l00067"></a>00067 <span class="stringliteral">"read returns -1 for client[%s]: %s - connection closed"</span>,
<a name="l00068"></a>00068 client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>, strerror(errno));
<a name="l00069"></a>00069 <span class="keywordflow">break</span>;
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="keywordflow">case</span> 0:
<a name="l00072"></a>00072 <span class="keywordflow">break</span>;
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keywordflow">default</span>:
<a name="l00075"></a>00075 <span class="keywordflow">if</span> (!_clientReallocBuffer(client, client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> + readSize)) {
<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>,
<a name="l00077"></a>00077 <span class="stringliteral">"got to long line from client[%s] - connection closed"</span>,
<a name="l00078"></a>00078 client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>);
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keywordflow">return</span> <a class="code" href="client_8h.html#f150df8f008146f177d67862d2569834">READ_ERR_LONGLINE</a>;
<a name="l00081"></a>00081 }
<a name="l00082"></a>00082
<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>) {
<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>,
<a name="l00085"></a>00085 <span class="stringliteral">"can't allocate enough memory for read on client[%s]"</span>
<a name="l00086"></a>00086 <span class="stringliteral">" - connection closed"</span>,
<a name="l00087"></a>00087 client-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>);
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keywordflow">return</span> <a class="code" href="client_8h.html#4f090ce41ed48b83e309d8fce71db4ab">READ_ERR_MEMORY</a>;
<a name="l00090"></a>00090 }
<a name="l00091"></a>00091
<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);
<a name="l00093"></a>00093 client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> += readSize;
<a name="l00094"></a>00094 <span class="keywordflow">break</span>;
<a name="l00095"></a>00095 }
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keywordflow">return</span> readSize;
<a name="l00098"></a>00098 }
<a name="l00099"></a>00099
<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>
<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>
<a name="l00102"></a>00102 <span class="preprocessor"></span>
<a name="l00103"></a>00103 <span class="keyword">static</span> <span class="keywordtype">char</span> *
<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)
<a name="l00105"></a>00105 {
<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>);
<a name="l00107"></a>00107
<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)) {
<a name="l00109"></a>00109
<a name="l00110"></a>00110 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0;
<a name="l00111"></a>00111
<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++;
<a name="l00113"></a>00113
<a name="l00114"></a>00114 <span class="keywordflow">if</span> (i == len) {
<a name="l00115"></a>00115 <span class="keywordflow">return</span> foundDelim;
<a name="l00116"></a>00116 } <span class="keywordflow">else</span> {
<a name="l00117"></a>00117 <span class="keywordflow">if</span> (!<a class="code" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">EOB</a>(client, ++foundDelim)) {
<a name="l00118"></a>00118 foundDelim = memchr(foundDelim, delim[0], <a class="code" href="clientRead_8c.html#b6f9cfea308c9f485d4b00b60fd2f6cd">REMAINING</a>(client, foundDelim));
<a name="l00119"></a>00119 }
<a name="l00120"></a>00120 }
<a name="l00121"></a>00121 }
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="keywordflow">return</span> NULL;
<a name="l00124"></a>00124 }
<a name="l00125"></a>00125
<a name="l00126"></a>00126 <span class="comment">/*</span>
<a name="l00127"></a>00127 <span class="comment"> * this returns a newly allocate buffer, with the found line</span>
<a name="l00128"></a>00128 <span class="comment"> * copied to it.</span>
<a name="l00129"></a>00129 <span class="comment"> * The caller has to take care to free this buffer again,</span>
<a name="l00130"></a>00130 <span class="comment"> * after he uses it.</span>
<a name="l00131"></a>00131 <span class="comment"> */</span>
<a name="l00132"></a>00132 <span class="keywordtype">char</span> *
<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)
<a name="l00134"></a>00134 {
<a name="l00135"></a>00135 <span class="keywordtype">char</span> * found = <a class="code" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a>(client, delim, len);
<a name="l00136"></a>00136 <span class="keywordtype">char</span> * line = NULL;
<a name="l00137"></a>00137
<a name="l00138"></a>00138 <span class="keywordflow">if</span> (NULL != found) {
<a name="l00139"></a>00139 line = calloc(*len +1, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
<a name="l00140"></a>00140 <a class="code" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">clientRemoveLine</a>(client, delim, len);
<a name="l00141"></a>00141 memcpy(line, found, *len);
<a name="l00142"></a>00142 }
<a name="l00143"></a>00143
<a name="l00144"></a>00144 <span class="keywordflow">return</span> line;
<a name="l00145"></a>00145 }
<a name="l00146"></a>00146
<a name="l00147"></a>00147 <span class="comment">/*</span>
<a name="l00148"></a>00148 <span class="comment"> * as a side effect this gives sets length of the found line in len</span>
<a name="l00149"></a>00149 <span class="comment"> */</span>
<a name="l00150"></a>00150 <span class="keywordtype">char</span> *
<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)
<a name="l00152"></a>00152 {
<a name="l00153"></a>00153 <span class="keywordtype">char</span> * foundDelim = _clientGetLineDelimiter(client, delim, *len);
<a name="l00154"></a>00154
<a name="l00155"></a>00155 <span class="keywordflow">if</span> (NULL != foundDelim) {
<a name="l00156"></a>00156 *len = foundDelim -client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> -1;
<a name="l00157"></a>00157 <span class="keywordflow">return</span> client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>;
<a name="l00158"></a>00158 }
<a name="l00159"></a>00159
<a name="l00160"></a>00160 <span class="keywordflow">return</span> NULL;
<a name="l00161"></a>00161 }
<a name="l00162"></a>00162
<a name="l00163"></a>00163 <span class="keywordtype">char</span> *
<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)
<a name="l00165"></a>00165 {
<a name="l00166"></a>00166 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lineLen;
<a name="l00167"></a>00167 <span class="keywordtype">char</span> * foundDelim = _clientGetLineDelimiter(client, delim, &amp;lineLen);
<a name="l00168"></a>00168
<a name="l00169"></a>00169 <span class="keywordflow">if</span> (NULL != foundDelim) {
<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>;
<a name="l00171"></a>00171
<a name="l00172"></a>00172 <span class="keywordflow">if</span> (actAddr == foundDelim +*len) {
<a name="l00173"></a>00173
<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>);
<a name="l00175"></a>00175 *len = client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> = 0;
<a name="l00176"></a>00176
<a name="l00177"></a>00177 } <span class="keywordflow">else</span> {
<a name="l00178"></a>00178
<a name="l00179"></a>00179 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> moveSize = actAddr -foundDelim -*len;
<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;
<a name="l00181"></a>00181
<a name="l00182"></a>00182 memmove(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, foundDelim +*len, moveSize);
<a name="l00183"></a>00183 memset(client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> +moveSize, 0, clearSize);
<a name="l00184"></a>00184 *len = client-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> = moveSize;
<a name="l00185"></a>00185 }
<a name="l00186"></a>00186
<a name="l00187"></a>00187 <span class="keywordflow">return</span> client-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>;
<a name="l00188"></a>00188 }
<a name="l00189"></a>00189
<a name="l00190"></a>00190 <span class="keywordflow">return</span> NULL;
<a name="l00191"></a>00191 }
<a name="l00192"></a>00192
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

263
.doc/html/clientRead_8c.html

@ -1,263 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: reader/commonReader/clientRead.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>reader/commonReader/clientRead.c File Reference</h1><code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;errno.h&gt;</code><br>
<code>#include &quot;<a class="el" href="client_8h-source.html">../../include/client.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../../include/monitor.h</a>&quot;</code><br>
<p>
<a href="clientRead_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<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>
<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>
<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>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
<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>
<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>
<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>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="47d745b24a58d0152c7b43db75387a79"></a><!-- doxytag: member="clientRead.c::EOB" ref="47d745b24a58d0152c7b43db75387a79" args="(client, addr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EOB </td>
<td>(</td>
<td class="paramtype">client, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">addr&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;((addr) -(client)-&gt;readBuffer &gt;= (client)-&gt;readPos)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="3baabeba3e06eb1b8761363a58f8391b"></a><!-- doxytag: member="clientRead.c::GET_MULTIPLIER" ref="3baabeba3e06eb1b8761363a58f8391b" args="(size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GET_MULTIPLIER </td>
<td>(</td>
<td class="paramtype">size&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;(((size) - 1) / READBUFSIZE + 1)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="b6f9cfea308c9f485d4b00b60fd2f6cd"></a><!-- doxytag: member="clientRead.c::REMAINING" ref="b6f9cfea308c9f485d4b00b60fd2f6cd" args="(client, addr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define REMAINING </td>
<td>(</td>
<td class="paramtype">client, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">addr&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td>&nbsp;&nbsp;&nbsp;((client)-&gt;readPos - ((addr) - (client)-&gt;readBuffer))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="8363f6facea09bd36e288a51c983aed2"></a><!-- doxytag: member="clientRead.c::clientConsumeLine" ref="8363f6facea09bd36e288a51c983aed2" args="(tClient *client, const char *delim, unsigned int *len)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* clientConsumeLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname"> <em>client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>delim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>len</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="fbcefe4f20179c643fdff8007235325c"></a><!-- doxytag: member="clientRead.c::clientGetLine" ref="fbcefe4f20179c643fdff8007235325c" args="(tClient *client, const char *delim, unsigned int *len)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* clientGetLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname"> <em>client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>delim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>len</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="6504ff36553f8008b9ee1d52aa977740"></a><!-- doxytag: member="clientRead.c::clientRead" ref="6504ff36553f8008b9ee1d52aa977740" args="(tClient *client)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int clientRead </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname"> <em>client</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="8cbd479139f4645f07ae0b7c18202fef"></a><!-- doxytag: member="clientRead.c::clientRemoveLine" ref="8cbd479139f4645f07ae0b7c18202fef" args="(tClient *client, const char *delim, unsigned int *len)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* clientRemoveLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname"> <em>client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>delim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>len</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

67
.doc/html/client_8h-source.html

@ -1,67 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/client.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __CLIENT_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for FILE */</span>
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;expat.h&gt;</span>
<a name="l00007"></a>00007
<a name="l00008"></a>00008 <span class="preprocessor">#include "<a class="code" href="httpRequest_8h.html">httpRequest.h</a>"</span>
<a name="l00009"></a>00009
<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>
<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>
<a name="l00012"></a>00012
<a name="l00013"></a><a class="code" href="client_8h.html#f150df8f008146f177d67862d2569834">00013</a> <span class="preprocessor">#define READ_ERR_LONGLINE -2</span>
<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>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<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>;
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="structtClient.html">00018</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00019"></a><a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">00019</a> <span class="keywordtype">int</span> socket;
<a name="l00020"></a><a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">00020</a> <span class="keywordtype">char</span> * readBuffer;
<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>;
<a name="l00022"></a><a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">00022</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> readPos;
<a name="l00023"></a><a class="code" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">00023</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> writePos;
<a name="l00024"></a><a class="code" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">00024</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> readBufMult;
<a name="l00025"></a><a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">00025</a> <span class="keywordtype">char</span> remoteAddr[16];
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">00027</a> <a class="code" href="structtHttpHeader.html">tHttpHeader</a> httpHeader;
<a name="l00028"></a><a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">00028</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bodyLenRemaining;
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">00030</a> XML_Parser parser;
<a name="l00031"></a>00031 } <a class="code" href="structtClient.html">tClient</a>;
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<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);
<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);
<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);
<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> *);
<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> *);
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#endif // __CLIENT_H__</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

287
.doc/html/client_8h.html

@ -1,287 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/client.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/client.h File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;expat.h&gt;</code><br>
<code>#include &quot;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&quot;</code><br>
<p>
<a href="client_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<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>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<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>
<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>
<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>
<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>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<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>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="eefa2efc8515c7f8334de344e8a07fbf"></a><!-- doxytag: member="client.h::CLIENTMULTMAX" ref="eefa2efc8515c7f8334de344e8a07fbf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CLIENTMULTMAX&nbsp;&nbsp;&nbsp;512U </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="f150df8f008146f177d67862d2569834"></a><!-- doxytag: member="client.h::READ_ERR_LONGLINE" ref="f150df8f008146f177d67862d2569834" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define READ_ERR_LONGLINE&nbsp;&nbsp;&nbsp;-2 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="4f090ce41ed48b83e309d8fce71db4ab"></a><!-- doxytag: member="client.h::READ_ERR_MEMORY" ref="4f090ce41ed48b83e309d8fce71db4ab" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define READ_ERR_MEMORY&nbsp;&nbsp;&nbsp;-3 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="a0534241791f23ec8098503582406166"></a><!-- doxytag: member="client.h::READBUFSIZE" ref="a0534241791f23ec8098503582406166" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define READBUFSIZE&nbsp;&nbsp;&nbsp;2048 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a9dad65338aa78062b23a924ae1d2b59"></a><!-- doxytag: member="client.h::clientClose" ref="a9dad65338aa78062b23a924ae1d2b59" args="(tClient *client)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void clientClose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname"> <em>client</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="9741eb2a0853766868828c722e67c068"></a><!-- doxytag: member="client.h::clientGetLine" ref="9741eb2a0853766868828c722e67c068" args="(tClient *, const char *, unsigned int *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* clientGetLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="6504ff36553f8008b9ee1d52aa977740"></a><!-- doxytag: member="client.h::clientRead" ref="6504ff36553f8008b9ee1d52aa977740" args="(tClient *client)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int clientRead </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname"> <em>client</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="a920588f9122184bad211ae912d1dbc4"></a><!-- doxytag: member="client.h::clientRemoveLine" ref="a920588f9122184bad211ae912d1dbc4" args="(tClient *, const char *, unsigned int *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* clientRemoveLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="ab1a321bfd432ac9ec8818ad3eb6e591"></a><!-- doxytag: member="client.h::clientWrite" ref="ab1a321bfd432ac9ec8818ad3eb6e591" args="(tClient *client)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int clientWrite </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtClient.html">tClient</a> *&nbsp;</td>
<td class="paramname"> <em>client</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="0b2caeb4b6f130be43e5a2f0267dd453"></a><!-- doxytag: member="client.h::verbose" ref="0b2caeb4b6f130be43e5a2f0267dd453" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

50
.doc/html/daemonize_8c-source.html

@ -1,50 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/daemonize.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for getopt */</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<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>) {
<a name="l00007"></a>00007 pid_t pid;
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="keywordflow">if</span> (0 &gt; ((pid = fork()))) {
<a name="l00010"></a>00010 perror(<span class="stringliteral">"deamoinze[fork]"</span>);
<a name="l00011"></a>00011 exit(EXIT_FAILURE);
<a name="l00012"></a>00012 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (0 != pid) {
<a name="l00013"></a>00013 exit(EXIT_SUCCESS);
<a name="l00014"></a>00014 }
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="comment">/* make new child session leader */</span>
<a name="l00017"></a>00017 setsid();
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="comment">/* connect all standard streams to /dev/null */</span>
<a name="l00020"></a>00020 freopen(<span class="stringliteral">"/dev/null"</span>, <span class="stringliteral">"w"</span>, stderr);
<a name="l00021"></a>00021 freopen(<span class="stringliteral">"/dev/null"</span>, <span class="stringliteral">"r"</span>, stdin);
<a name="l00022"></a>00022 freopen(<span class="stringliteral">"/dev/null"</span>, <span class="stringliteral">"w"</span>, stdout);
<a name="l00023"></a>00023 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

63
.doc/html/daemonize_8c.html

@ -1,63 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/daemonize.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>system/daemonize.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<p>
<a href="daemonize_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="29b0af1da2432bcc90721c0b62f4e660"></a><!-- doxytag: member="daemonize.c::daemonize" ref="29b0af1da2432bcc90721c0b62f4e660" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void daemonize </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

33
.doc/html/daemonize_8h-source.html

@ -1,33 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/daemonize.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __DAEMONIZE_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<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>);
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="preprocessor">#endif // __DAEMONIZE_H__</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

60
.doc/html/daemonize_8h.html

@ -1,60 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/daemonize.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/daemonize.h File Reference</h1>
<p>
<a href="daemonize_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="29b0af1da2432bcc90721c0b62f4e660"></a><!-- doxytag: member="daemonize.h::daemonize" ref="29b0af1da2432bcc90721c0b62f4e660" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void daemonize </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

441
.doc/html/doxygen.css

@ -1,441 +0,0 @@
body, table, div, p, dl {
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
font-size: 12px;
}
/* @group Heading Levels */
h1 {
text-align: center;
font-size: 150%;
}
h2 {
font-size: 120%;
}
h3 {
font-size: 100%;
}
/* @end */
caption {
font-weight: bold;
}
div.qindex, div.navtab{
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
}
div.qindex, div.navpath {
width: 100%;
line-height: 140%;
}
div.navtab {
margin-right: 15px;
}
/* @group Link Styling */
a {
color: #153788;
font-weight: normal;
text-decoration: none;
}
.contents a:visited {
color: #1b77c5;
}
a:hover {
text-decoration: underline;
}
a.qindex {
font-weight: bold;
}
a.qindexHL {
font-weight: bold;
background-color: #6666cc;
color: #ffffff;
border: 1px double #9295C2;
}
.contents a.qindexHL:visited {
color: #ffffff;
}
a.el {
font-weight: bold;
}
a.elRef {
}
a.code {
}
a.codeRef {
}
/* @end */
dl.el {
margin-left: -1cm;
}
.fragment {
font-family: monospace, fixed;
font-size: 105%;
}
pre.fragment {
border: 1px solid #CCCCCC;
background-color: #f5f5f5;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
}
div.ah {
background-color: black;
font-weight: bold;
color: #ffffff;
margin-bottom: 3px;
margin-top: 3px
}
div.groupHeader {
margin-left: 16px;
margin-top: 12px;
margin-bottom: 6px;
font-weight: bold;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
body {
background: white;
color: black;
margin-right: 20px;
margin-left: 20px;
}
td.indexkey {
background-color: #e8eef2;
font-weight: bold;
border: 1px solid #CCCCCC;
margin: 2px 0px 2px 0;
padding: 2px 10px;
}
td.indexvalue {
background-color: #e8eef2;
border: 1px solid #CCCCCC;
padding: 2px 10px;
margin: 2px 0px;
}
tr.memlist {
background-color: #f0f0f0;
}
p.formulaDsp {
text-align: center;
}
img.formulaDsp {
}
img.formulaInl {
vertical-align: middle;
}
/* @group Code Colorization */
span.keyword {
color: #008000
}
span.keywordtype {
color: #604020
}
span.keywordflow {
color: #e08000
}
span.comment {
color: #800000
}
span.preprocessor {
color: #806020
}
span.stringliteral {
color: #002080
}
span.charliteral {
color: #008080
}
span.vhdldigit {
color: #ff00ff
}
span.vhdlchar {
color: #000000
}
span.vhdlkeyword {
color: #700070
}
span.vhdllogic {
color: #ff0000
}
/* @end */
.search {
color: #003399;
font-weight: bold;
}
form.search {
margin-bottom: 0px;
margin-top: 0px;
}
input.search {
font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
td.tiny {
font-size: 75%;
}
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid #84b0c7;
}
th.dirtab {
background: #e8eef2;
font-weight: bold;
}
hr {
height: 0;
border: none;
border-top: 1px solid #666;
}
/* @group Member Descriptions */
.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
background-color: #FAFAFA;
border: none;
margin: 4px;
padding: 1px 0 0 8px;
}
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
color: #555;
}
.memItemLeft, .memItemRight, .memTemplParams {
border-top: 1px solid #ccc;
}
.memTemplParams {
color: #606060;
}
/* @end */
/* @group Member Details */
/* Styles for detailed member documentation */
.memtemplate {
font-size: 80%;
color: #606060;
font-weight: normal;
margin-left: 3px;
}
.memnav {
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
.memitem {
padding: 0;
}
.memname {
white-space: nowrap;
font-weight: bold;
}
.memproto, .memdoc {
border: 1px solid #84b0c7;
}
.memproto {
padding: 0;
background-color: #d5e1e8;
font-weight: bold;
-webkit-border-top-left-radius: 8px;
-webkit-border-top-right-radius: 8px;
-moz-border-radius-topleft: 8px;
-moz-border-radius-topright: 8px;
}
.memdoc {
padding: 2px 5px;
background-color: #eef3f5;
border-top-width: 0;
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
}
.paramname {
color: #602020;
white-space: nowrap;
}
.paramname em {
font-style: normal;
}
/* @end */
/* @group Directory (tree) */
/* for the tree view */
.ftvtree {
font-family: sans-serif;
margin: 0.5em;
}
/* these are for tree view when used as main index */
.directory {
font-size: 9pt;
font-weight: bold;
}
.directory h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
/*
The following two styles can be used to replace the root node title
with an image of your choice. Simply uncomment the next two styles,
specify the name of your image and be sure to set 'height' to the
proper pixel height of your image.
*/
/*
.directory h3.swap {
height: 61px;
background-repeat: no-repeat;
background-image: url("yourimage.gif");
}
.directory h3.swap span {
display: none;
}
*/
.directory > h3 {
margin-top: 0;
}
.directory p {
margin: 0px;
white-space: nowrap;
}
.directory div {
display: none;
margin: 0px;
}
.directory img {
vertical-align: -30%;
}
/* these are for tree view when not used as main index */
.directory-alt {
font-size: 100%;
font-weight: bold;
}
.directory-alt h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
.directory-alt > h3 {
margin-top: 0;
}
.directory-alt p {
margin: 0px;
white-space: nowrap;
}
.directory-alt div {
display: none;
margin: 0px;
}
.directory-alt img {
vertical-align: -30%;
}
/* @end */
address {
font-style: normal;
color: #333;
}

BIN
.doc/html/doxygen.png

Before

Width: 100  |  Height: 45  |  Size: 1.3 KiB

54
.doc/html/files.html

@ -1,54 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: File Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

BIN
.doc/html/ftv2blank.png

Before

Width: 16  |  Height: 22  |  Size: 174 B

BIN
.doc/html/ftv2doc.png

Before

Width: 24  |  Height: 22  |  Size: 255 B

BIN
.doc/html/ftv2folderclosed.png

Before

Width: 24  |  Height: 22  |  Size: 259 B

BIN
.doc/html/ftv2folderopen.png

Before

Width: 24  |  Height: 22  |  Size: 261 B

BIN
.doc/html/ftv2lastnode.png

Before

Width: 16  |  Height: 22  |  Size: 233 B

BIN
.doc/html/ftv2link.png

Before

Width: 24  |  Height: 22  |  Size: 358 B

BIN
.doc/html/ftv2mlastnode.png

Before

Width: 16  |  Height: 22  |  Size: 160 B

BIN
.doc/html/ftv2mnode.png

Before

Width: 16  |  Height: 22  |  Size: 194 B

BIN
.doc/html/ftv2node.png

Before

Width: 16  |  Height: 22  |  Size: 235 B

BIN
.doc/html/ftv2plastnode.png

Before

Width: 16  |  Height: 22  |  Size: 165 B

BIN
.doc/html/ftv2pnode.png

Before

Width: 16  |  Height: 22  |  Size: 200 B

BIN
.doc/html/ftv2vertline.png

Before

Width: 16  |  Height: 22  |  Size: 229 B

148
.doc/html/functions.html

@ -1,148 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_k"><span>k</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
</ul>
</div>
</div>
<div class="contents">
Here is a list of all struct and union fields with links to the structures/unions they belong to:
<p>
<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
<li>body
: <a class="el" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">tHttpRequest</a>
<li>bodyLength
: <a class="el" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">tHttpHeader</a>
<li>bodyLenRemaining
: <a class="el" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">tClient</a>
</ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>clients
: <a class="el" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">tServer</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>doDaemon
: <a class="el" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">tAppConfig</a>
</ul>
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
<li>header
: <a class="el" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">tHttpRequest</a>
<li>headers
: <a class="el" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">tHttpHeader</a>
<li>headersCount
: <a class="el" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">tHttpHeader</a>
<li>httpHeader
: <a class="el" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">tClient</a>
<li>httpVersion
: <a class="el" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">tRequestLine</a>
</ul>
<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
<li>key
: <a class="el" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">tHttpHeaderLine</a>
</ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
<li>length
: <a class="el" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">tHttpRequest</a>
<li>logPath
: <a class="el" href="structtServer.html#17180f100090e101569a3a95934c38aa">tServer</a>
, <a class="el" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">tAppConfig</a>
</ul>
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>maxFd
: <a class="el" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">tServer</a>
<li>maxPending
: <a class="el" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">tAppConfig</a>
<li>method
: <a class="el" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">tRequestLine</a>
</ul>
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
<li>namePat
: <a class="el" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">tAppConfig</a>
, <a class="el" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">tServer</a>
</ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>parser
: <a class="el" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">tClient</a>
<li>port
: <a class="el" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">tAppConfig</a>
</ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>readBuffer
: <a class="el" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">tClient</a>
<li>readBufMult
: <a class="el" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">tClient</a>
<li>readPos
: <a class="el" href="structtClient.html#0948ef13430298f28cb48199119136c1">tClient</a>
<li>remoteAddr
: <a class="el" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">tClient</a>
<li>req
: <a class="el" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">tHttpHeader</a>
<li>requestUri
: <a class="el" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">tRequestLine</a>
</ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>servSock
: <a class="el" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">tServer</a>
<li>socket
: <a class="el" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">tClient</a>
<li>socks
: <a class="el" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">tServer</a>
</ul>
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
<li>value
: <a class="el" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">tHttpHeaderLine</a>
<li>verbose
: <a class="el" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">tAppConfig</a>
</ul>
<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
<li>wHandle
: <a class="el" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">tServer</a>
<li>writeBuffer
: <a class="el" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">tClient</a>
<li>writePos
: <a class="el" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">tClient</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

148
.doc/html/functions_vars.html

@ -1,148 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Data Fields - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_k"><span>k</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
<li>body
: <a class="el" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">tHttpRequest</a>
<li>bodyLength
: <a class="el" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">tHttpHeader</a>
<li>bodyLenRemaining
: <a class="el" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">tClient</a>
</ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>clients
: <a class="el" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">tServer</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>doDaemon
: <a class="el" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">tAppConfig</a>
</ul>
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
<li>header
: <a class="el" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">tHttpRequest</a>
<li>headers
: <a class="el" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">tHttpHeader</a>
<li>headersCount
: <a class="el" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">tHttpHeader</a>
<li>httpHeader
: <a class="el" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">tClient</a>
<li>httpVersion
: <a class="el" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">tRequestLine</a>
</ul>
<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
<li>key
: <a class="el" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">tHttpHeaderLine</a>
</ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
<li>length
: <a class="el" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">tHttpRequest</a>
<li>logPath
: <a class="el" href="structtServer.html#17180f100090e101569a3a95934c38aa">tServer</a>
, <a class="el" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">tAppConfig</a>
</ul>
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>maxFd
: <a class="el" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">tServer</a>
<li>maxPending
: <a class="el" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">tAppConfig</a>
<li>method
: <a class="el" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">tRequestLine</a>
</ul>
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
<li>namePat
: <a class="el" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">tAppConfig</a>
, <a class="el" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">tServer</a>
</ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>parser
: <a class="el" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">tClient</a>
<li>port
: <a class="el" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">tAppConfig</a>
</ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>readBuffer
: <a class="el" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">tClient</a>
<li>readBufMult
: <a class="el" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">tClient</a>
<li>readPos
: <a class="el" href="structtClient.html#0948ef13430298f28cb48199119136c1">tClient</a>
<li>remoteAddr
: <a class="el" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">tClient</a>
<li>req
: <a class="el" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">tHttpHeader</a>
<li>requestUri
: <a class="el" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">tRequestLine</a>
</ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>servSock
: <a class="el" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">tServer</a>
<li>socket
: <a class="el" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">tClient</a>
<li>socks
: <a class="el" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">tServer</a>
</ul>
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
<li>value
: <a class="el" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">tHttpHeaderLine</a>
<li>verbose
: <a class="el" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">tAppConfig</a>
</ul>
<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
<li>wHandle
: <a class="el" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">tServer</a>
<li>writeBuffer
: <a class="el" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">tClient</a>
<li>writePos
: <a class="el" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">tClient</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

247
.doc/html/globals.html

@ -1,247 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li class="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
</ul>
</div>
</div>
<div class="contents">
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
<p>
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
<li>acceptConnection()
: <a class="el" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">socket.h</a>
, <a class="el" href="socket_8c.html#f09ba488c48f40f8d1f133a4441deb25">socket.c</a>
</ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>clientClose()
: <a class="el" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">client.h</a>
, <a class="el" href="clientClose_8c.html#a9dad65338aa78062b23a924ae1d2b59">clientClose.c</a>
<li>clientConsumeLine()
: <a class="el" href="clientRead_8c.html#8363f6facea09bd36e288a51c983aed2">clientRead.c</a>
<li>clientGetLine()
: <a class="el" href="client_8h.html#9741eb2a0853766868828c722e67c068">client.h</a>
, <a class="el" href="clientRead_8c.html#fbcefe4f20179c643fdff8007235325c">clientRead.c</a>
<li>CLIENTMULTMAX
: <a class="el" href="client_8h.html#eefa2efc8515c7f8334de344e8a07fbf">client.h</a>
<li>clientRead()
: <a class="el" href="clientRead_8c.html#6504ff36553f8008b9ee1d52aa977740">clientRead.c</a>
, <a class="el" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">client.h</a>
<li>clientRemoveLine()
: <a class="el" href="clientRead_8c.html#8cbd479139f4645f07ae0b7c18202fef">clientRead.c</a>
, <a class="el" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">client.h</a>
<li>clientWrite()
: <a class="el" href="client_8h.html#ab1a321bfd432ac9ec8818ad3eb6e591">client.h</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>daemonize()
: <a class="el" href="daemonize_8h.html#29b0af1da2432bcc90721c0b62f4e660">daemonize.h</a>
, <a class="el" href="daemonize_8c.html#29b0af1da2432bcc90721c0b62f4e660">daemonize.c</a>
<li>DEFAULTPATH
: <a class="el" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">appConfig.h</a>
<li>DEFAULTPORT
: <a class="el" href="appConfig_8h.html#3db4dba8d56385b62759b89c98cae447">appConfig.h</a>
<li>Depth
: <a class="el" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">serverRun.c</a>
<li>doShutdown
: <a class="el" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">signalHandling.h</a>
, <a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">signalHandling.c</a>
</ul>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>end()
: <a class="el" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">serverRun.c</a>
<li>EOB
: <a class="el" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">clientRead.c</a>
</ul>
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
<li>freeHttpHeader()
: <a class="el" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#86d86da69aefe2067f750c80e626de7c">httpRequest.c</a>
<li>freeHttpRequest()
: <a class="el" href="httpRequest_8h.html#1bba1865657c64c0e1971a45ee6117ab">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#d1d9e65b1761d1d5f809314b4b05e772">httpRequest.c</a>
</ul>
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
<li>GET_MULTIPLIER
: <a class="el" href="clientRead_8c.html#3baabeba3e06eb1b8761363a58f8391b">clientRead.c</a>
<li>getHttpRequest()
: <a class="el" href="httpRequest_8c.html#9a6b00ad980ca9a2c5023ec1a802106b">httpRequest.c</a>
, <a class="el" href="httpRequest_8h.html#59d765731e7d39f5583ef175950becb1">httpRequest.h</a>
</ul>
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
<li>handleCmdLine()
: <a class="el" href="appConfig_8h.html#3755d793d10d6e5793ed5086a0b22964">appConfig.h</a>
, <a class="el" href="handleCmdLine_8c.html#3755d793d10d6e5793ed5086a0b22964">handleCmdLine.c</a>
<li>HTTP_REQ_CONNECT
: <a class="el" href="httpRequest_8h.html#5e49980e0d7d4080e2cececd00796981">httpRequest.h</a>
<li>HTTP_REQ_DELETE
: <a class="el" href="httpRequest_8h.html#2894c25df3d2e54885cc414aa9731811">httpRequest.h</a>
<li>HTTP_REQ_GET
: <a class="el" href="httpRequest_8h.html#783bb94ef6eee3041b08244fcf43304f">httpRequest.h</a>
<li>HTTP_REQ_HEAD
: <a class="el" href="httpRequest_8h.html#99dd5b1289103eee62ebd66082f03e98">httpRequest.h</a>
<li>HTTP_REQ_OPTIONS
: <a class="el" href="httpRequest_8h.html#bcd1460716fe0d7d7bbfab4d8df7431b">httpRequest.h</a>
<li>HTTP_REQ_POST
: <a class="el" href="httpRequest_8h.html#b113eaf10da1f4291202f81bea630f5b">httpRequest.h</a>
<li>HTTP_REQ_PUT
: <a class="el" href="httpRequest_8h.html#af09691edc99a286c60427e1f390d7bd">httpRequest.h</a>
<li>HTTP_REQ_TRACE
: <a class="el" href="httpRequest_8h.html#21cd537dafe8cd458fbb1eeb1208f4a8">httpRequest.h</a>
<li>httpHeaderGet()
: <a class="el" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#fd4f839160f6d97ad28e05ee1ce81188">httpRequest.c</a>
<li>httpHeaderGetLine()
: <a class="el" href="httpRequest_8c.html#c96f6dae9ced89eb2ae8ac556918e367">httpRequest.c</a>
<li>httpHeaderIsComplete()
: <a class="el" href="httpRequest_8c.html#d5d9232083e5890588d5e1840341a48b">httpRequest.c</a>
, <a class="el" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpRequest.h</a>
<li>httpHeaderIsStarted()
: <a class="el" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#29982601e2121cd75800202f5716c7f5">httpRequest.c</a>
<li>httpHeaderParseRequestLine()
: <a class="el" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#e18ae9e899c3c951308bb2ec4bd810f5">httpRequest.c</a>
<li>httpRequest
: <a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest.c</a>
, <a class="el" href="httpRequest_8h.html#e7110ef069c94769a78296dc38ab86ca">httpRequest.h</a>
</ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<li>init_signals()
: <a class="el" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">signalHandling.h</a>
, <a class="el" href="signalHandling_8c.html#1de31bdef82f181f8045b94ae0933916">signalHandling.c</a>
<li>initServerSocket()
: <a class="el" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">socket.h</a>
, <a class="el" href="socket_8c.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">socket.c</a>
</ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
<li>LOGNAMEPATTERN
: <a class="el" href="appConfig_8h.html#9a98b2d0f973e357020c1274ec5b56c0">appConfig.h</a>
<li>logRotate()
: <a class="el" href="logRotate_8c.html#70a3ebded819019c99ad001f29e082de">logRotate.c</a>
, <a class="el" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate.h</a>
</ul>
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>MAX
: <a class="el" href="appConfig_8h.html#acc3ee1a7f283f8ef65cea31f4436a95">appConfig.h</a>
<li>MAXCLIENTS
: <a class="el" href="appConfig_8h.html#ce5c08f66edfc6ae44edaeef6b6101b6">appConfig.h</a>
<li>MAXPENDING
: <a class="el" href="appConfig_8h.html#f77ed3e65a7b1a9341603d152a1404df">appConfig.h</a>
<li>MIN
: <a class="el" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">appConfig.h</a>
<li>MON_CRITICAL
: <a class="el" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">monitor.h</a>
<li>MON_FAILURE
: <a class="el" href="monitor_8h.html#c41f84ee1d999369a9496a2c49c4181c">monitor.h</a>
<li>MON_INFO
: <a class="el" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">monitor.h</a>
<li>MON_WARNING
: <a class="el" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">monitor.h</a>
<li>monitor()
: <a class="el" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor.h</a>
, <a class="el" href="monitor_8c.html#afab1757e8c3bc9c5143490b256cb684">monitor.c</a>
<li>MONITORCMD
: <a class="el" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">monitor.c</a>
<li>MONITORNAME
: <a class="el" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">monitor.c</a>
<li>MONITORTYPE
: <a class="el" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">monitor.c</a>
</ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>READ_ERR_LONGLINE
: <a class="el" href="client_8h.html#f150df8f008146f177d67862d2569834">client.h</a>
<li>READ_ERR_MEMORY
: <a class="el" href="client_8h.html#4f090ce41ed48b83e309d8fce71db4ab">client.h</a>
<li>READBUFSIZE
: <a class="el" href="client_8h.html#a0534241791f23ec8098503582406166">client.h</a>
, <a class="el" href="appConfig_8h.html#a0534241791f23ec8098503582406166">appConfig.h</a>
<li>REMAINING
: <a class="el" href="clientRead_8c.html#b6f9cfea308c9f485d4b00b60fd2f6cd">clientRead.c</a>
<li>RESPONSE
: <a class="el" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">serverRun.c</a>
</ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>serverInit()
: <a class="el" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">server.h</a>
, <a class="el" href="serverInit_8c.html#68050069ed3a2e05cb02440090c89a1f">serverInit.c</a>
<li>serverRun()
: <a class="el" href="serverRun_8c.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun.c</a>
, <a class="el" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">server.h</a>
<li>serverShutdown()
: <a class="el" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">server.h</a>
, <a class="el" href="serverShutdown_8c.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown.c</a>
<li>severity
: <a class="el" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">monitor.c</a>
<li>SPACE
: <a class="el" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">httpRequest.c</a>
<li>start()
: <a class="el" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">serverRun.c</a>
<li>syslogMonitor()
: <a class="el" href="monitor_8c.html#13e7bf0022db0d9f5dd6aeb82ec69999">monitor.c</a>
, <a class="el" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">monitor.h</a>
</ul>
<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
<li>terminate()
: <a class="el" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">signalHandling.h</a>
, <a class="el" href="signalHandling_8c.html#64612b9588ed0fb05d70680db02b3630">signalHandling.c</a>
</ul>
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
<li>verbose
: <a class="el" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">client.h</a>
, <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">socket.c</a>
, <a class="el" href="logRotate_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">logRotate.c</a>
</ul>
<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
<li>writeBuffer()
: <a class="el" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer.h</a>
, <a class="el" href="writeBuffer_8c.html#a947cab623514e5a9c9700bca074b77e">writeBuffer.c</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

133
.doc/html/globals_defs.html

@ -1,133 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>CLIENTMULTMAX
: <a class="el" href="client_8h.html#eefa2efc8515c7f8334de344e8a07fbf">client.h</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>DEFAULTPATH
: <a class="el" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">appConfig.h</a>
<li>DEFAULTPORT
: <a class="el" href="appConfig_8h.html#3db4dba8d56385b62759b89c98cae447">appConfig.h</a>
</ul>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>EOB
: <a class="el" href="clientRead_8c.html#47d745b24a58d0152c7b43db75387a79">clientRead.c</a>
</ul>
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
<li>GET_MULTIPLIER
: <a class="el" href="clientRead_8c.html#3baabeba3e06eb1b8761363a58f8391b">clientRead.c</a>
</ul>
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
<li>HTTP_REQ_CONNECT
: <a class="el" href="httpRequest_8h.html#5e49980e0d7d4080e2cececd00796981">httpRequest.h</a>
<li>HTTP_REQ_DELETE
: <a class="el" href="httpRequest_8h.html#2894c25df3d2e54885cc414aa9731811">httpRequest.h</a>
<li>HTTP_REQ_GET
: <a class="el" href="httpRequest_8h.html#783bb94ef6eee3041b08244fcf43304f">httpRequest.h</a>
<li>HTTP_REQ_HEAD
: <a class="el" href="httpRequest_8h.html#99dd5b1289103eee62ebd66082f03e98">httpRequest.h</a>
<li>HTTP_REQ_OPTIONS
: <a class="el" href="httpRequest_8h.html#bcd1460716fe0d7d7bbfab4d8df7431b">httpRequest.h</a>
<li>HTTP_REQ_POST
: <a class="el" href="httpRequest_8h.html#b113eaf10da1f4291202f81bea630f5b">httpRequest.h</a>
<li>HTTP_REQ_PUT
: <a class="el" href="httpRequest_8h.html#af09691edc99a286c60427e1f390d7bd">httpRequest.h</a>
<li>HTTP_REQ_TRACE
: <a class="el" href="httpRequest_8h.html#21cd537dafe8cd458fbb1eeb1208f4a8">httpRequest.h</a>
</ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
<li>LOGNAMEPATTERN
: <a class="el" href="appConfig_8h.html#9a98b2d0f973e357020c1274ec5b56c0">appConfig.h</a>
</ul>
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>MAX
: <a class="el" href="appConfig_8h.html#acc3ee1a7f283f8ef65cea31f4436a95">appConfig.h</a>
<li>MAXCLIENTS
: <a class="el" href="appConfig_8h.html#ce5c08f66edfc6ae44edaeef6b6101b6">appConfig.h</a>
<li>MAXPENDING
: <a class="el" href="appConfig_8h.html#f77ed3e65a7b1a9341603d152a1404df">appConfig.h</a>
<li>MIN
: <a class="el" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">appConfig.h</a>
<li>MON_CRITICAL
: <a class="el" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">monitor.h</a>
<li>MON_FAILURE
: <a class="el" href="monitor_8h.html#c41f84ee1d999369a9496a2c49c4181c">monitor.h</a>
<li>MON_INFO
: <a class="el" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">monitor.h</a>
<li>MON_WARNING
: <a class="el" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">monitor.h</a>
<li>MONITORCMD
: <a class="el" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">monitor.c</a>
<li>MONITORNAME
: <a class="el" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">monitor.c</a>
<li>MONITORTYPE
: <a class="el" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">monitor.c</a>
</ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>READ_ERR_LONGLINE
: <a class="el" href="client_8h.html#f150df8f008146f177d67862d2569834">client.h</a>
<li>READ_ERR_MEMORY
: <a class="el" href="client_8h.html#4f090ce41ed48b83e309d8fce71db4ab">client.h</a>
<li>READBUFSIZE
: <a class="el" href="client_8h.html#a0534241791f23ec8098503582406166">client.h</a>
, <a class="el" href="appConfig_8h.html#a0534241791f23ec8098503582406166">appConfig.h</a>
<li>REMAINING
: <a class="el" href="clientRead_8c.html#b6f9cfea308c9f485d4b00b60fd2f6cd">clientRead.c</a>
<li>RESPONSE
: <a class="el" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">serverRun.c</a>
</ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>SPACE
: <a class="el" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">httpRequest.c</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

164
.doc/html/globals_func.html

@ -1,164 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
<li>acceptConnection()
: <a class="el" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">socket.h</a>
, <a class="el" href="socket_8c.html#f09ba488c48f40f8d1f133a4441deb25">socket.c</a>
</ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>clientClose()
: <a class="el" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">client.h</a>
, <a class="el" href="clientClose_8c.html#a9dad65338aa78062b23a924ae1d2b59">clientClose.c</a>
<li>clientConsumeLine()
: <a class="el" href="clientRead_8c.html#8363f6facea09bd36e288a51c983aed2">clientRead.c</a>
<li>clientGetLine()
: <a class="el" href="client_8h.html#9741eb2a0853766868828c722e67c068">client.h</a>
, <a class="el" href="clientRead_8c.html#fbcefe4f20179c643fdff8007235325c">clientRead.c</a>
<li>clientRead()
: <a class="el" href="clientRead_8c.html#6504ff36553f8008b9ee1d52aa977740">clientRead.c</a>
, <a class="el" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">client.h</a>
<li>clientRemoveLine()
: <a class="el" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">client.h</a>
, <a class="el" href="clientRead_8c.html#8cbd479139f4645f07ae0b7c18202fef">clientRead.c</a>
<li>clientWrite()
: <a class="el" href="client_8h.html#ab1a321bfd432ac9ec8818ad3eb6e591">client.h</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>daemonize()
: <a class="el" href="daemonize_8h.html#29b0af1da2432bcc90721c0b62f4e660">daemonize.h</a>
, <a class="el" href="daemonize_8c.html#29b0af1da2432bcc90721c0b62f4e660">daemonize.c</a>
</ul>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>end()
: <a class="el" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">serverRun.c</a>
</ul>
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
<li>freeHttpHeader()
: <a class="el" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#86d86da69aefe2067f750c80e626de7c">httpRequest.c</a>
<li>freeHttpRequest()
: <a class="el" href="httpRequest_8h.html#1bba1865657c64c0e1971a45ee6117ab">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#d1d9e65b1761d1d5f809314b4b05e772">httpRequest.c</a>
</ul>
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
<li>getHttpRequest()
: <a class="el" href="httpRequest_8h.html#59d765731e7d39f5583ef175950becb1">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#9a6b00ad980ca9a2c5023ec1a802106b">httpRequest.c</a>
</ul>
<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
<li>handleCmdLine()
: <a class="el" href="appConfig_8h.html#3755d793d10d6e5793ed5086a0b22964">appConfig.h</a>
, <a class="el" href="handleCmdLine_8c.html#3755d793d10d6e5793ed5086a0b22964">handleCmdLine.c</a>
<li>httpHeaderGet()
: <a class="el" href="httpRequest_8c.html#fd4f839160f6d97ad28e05ee1ce81188">httpRequest.c</a>
, <a class="el" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpRequest.h</a>
<li>httpHeaderGetLine()
: <a class="el" href="httpRequest_8c.html#c96f6dae9ced89eb2ae8ac556918e367">httpRequest.c</a>
<li>httpHeaderIsComplete()
: <a class="el" href="httpRequest_8c.html#d5d9232083e5890588d5e1840341a48b">httpRequest.c</a>
, <a class="el" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpRequest.h</a>
<li>httpHeaderIsStarted()
: <a class="el" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#29982601e2121cd75800202f5716c7f5">httpRequest.c</a>
<li>httpHeaderParseRequestLine()
: <a class="el" href="httpRequest_8c.html#e18ae9e899c3c951308bb2ec4bd810f5">httpRequest.c</a>
, <a class="el" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpRequest.h</a>
</ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<li>init_signals()
: <a class="el" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">signalHandling.h</a>
, <a class="el" href="signalHandling_8c.html#1de31bdef82f181f8045b94ae0933916">signalHandling.c</a>
<li>initServerSocket()
: <a class="el" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">socket.h</a>
, <a class="el" href="socket_8c.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">socket.c</a>
</ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
<li>logRotate()
: <a class="el" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate.h</a>
, <a class="el" href="logRotate_8c.html#70a3ebded819019c99ad001f29e082de">logRotate.c</a>
</ul>
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>monitor()
: <a class="el" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor.h</a>
, <a class="el" href="monitor_8c.html#afab1757e8c3bc9c5143490b256cb684">monitor.c</a>
</ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>serverInit()
: <a class="el" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">server.h</a>
, <a class="el" href="serverInit_8c.html#68050069ed3a2e05cb02440090c89a1f">serverInit.c</a>
<li>serverRun()
: <a class="el" href="serverRun_8c.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun.c</a>
, <a class="el" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">server.h</a>
<li>serverShutdown()
: <a class="el" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">server.h</a>
, <a class="el" href="serverShutdown_8c.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown.c</a>
<li>start()
: <a class="el" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">serverRun.c</a>
<li>syslogMonitor()
: <a class="el" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">monitor.h</a>
, <a class="el" href="monitor_8c.html#13e7bf0022db0d9f5dd6aeb82ec69999">monitor.c</a>
</ul>
<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
<li>terminate()
: <a class="el" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">signalHandling.h</a>
, <a class="el" href="signalHandling_8c.html#64612b9588ed0fb05d70680db02b3630">signalHandling.c</a>
</ul>
<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
<li>writeBuffer()
: <a class="el" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer.h</a>
, <a class="el" href="writeBuffer_8c.html#a947cab623514e5a9c9700bca074b77e">writeBuffer.c</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

55
.doc/html/globals_vars.html

@ -1,55 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Data Fields</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<ul>
<li>Depth
: <a class="el" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">serverRun.c</a>
<li>doShutdown
: <a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">signalHandling.c</a>
, <a class="el" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">signalHandling.h</a>
<li>httpRequest
: <a class="el" href="httpRequest_8h.html#e7110ef069c94769a78296dc38ab86ca">httpRequest.h</a>
, <a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest.c</a>
<li>severity
: <a class="el" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">monitor.c</a>
<li>verbose
: <a class="el" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">client.h</a>
, <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">socket.c</a>
, <a class="el" href="logRotate_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">logRotate.c</a>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

97
.doc/html/handleCmdLine_8c-source.html

@ -1,97 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/handleCmdLine.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="preprocessor">#include "../include/appConfig.h"</span>
<a name="l00007"></a>00007
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="keywordtype">int</span>
<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[])
<a name="l00011"></a>00011 {
<a name="l00012"></a>00012 <span class="keywordtype">int</span> opt;
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="keywordflow">while</span> ((opt = getopt(argc, argv, <span class="stringliteral">"Dvp:l:n:b:"</span>)) != -1) {
<a name="l00015"></a>00015 <span class="keywordflow">switch</span> (opt) {
<a name="l00016"></a>00016 <span class="keywordflow">case</span> <span class="charliteral">'p'</span>:
<a name="l00017"></a>00017 <span class="comment">/* port */</span>
<a name="l00018"></a>00018 config-&gt;<a class="code" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">port</a> = atoi(optarg);
<a name="l00019"></a>00019 <span class="keywordflow">break</span>;
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="keywordflow">case</span> <span class="charliteral">'l'</span>:
<a name="l00022"></a>00022 <span class="comment">/* logPath */</span>
<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);
<a name="l00024"></a>00024 <span class="keywordflow">break</span>;
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keywordflow">case</span> <span class="charliteral">'n'</span>:
<a name="l00027"></a>00027 <span class="comment">/* logNamePattern */</span>
<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);
<a name="l00029"></a>00029 <span class="keywordflow">break</span>;
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="keywordflow">case</span> <span class="charliteral">'b'</span>:
<a name="l00032"></a>00032 <span class="comment">/* maxPending (connection backlog) */</span>
<a name="l00033"></a>00033 config-&gt;<a class="code" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">maxPending</a> = atoi(optarg);
<a name="l00034"></a>00034 <span class="keywordflow">break</span>;
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keywordflow">case</span> <span class="charliteral">'v'</span>:
<a name="l00037"></a>00037 <span class="comment">/* verbose */</span>
<a name="l00038"></a>00038 config-&gt;<a class="code" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">verbose</a> = 1;
<a name="l00039"></a>00039 <span class="keywordflow">break</span>;
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="keywordflow">case</span> <span class="charliteral">'D'</span>:
<a name="l00042"></a>00042 <span class="comment">/* verbose */</span>
<a name="l00043"></a>00043 config-&gt;<a class="code" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">doDaemon</a> = 1;
<a name="l00044"></a>00044 <span class="keywordflow">break</span>;
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordflow">default</span>:
<a name="l00047"></a>00047 <span class="comment">/* '?' */</span>
<a name="l00048"></a>00048 fprintf(
<a name="l00049"></a>00049 stderr,
<a name="l00050"></a>00050 <span class="stringliteral">"Usage: %s [-p port] [-l logPath] [-n logNamePattern] [-c maxClient] [-b backlog] [-v] [-D]\n"</span>
<a name="l00051"></a>00051 <span class="stringliteral">"Defaults:\n"</span>
<a name="l00052"></a>00052 <span class="stringliteral">"\t%-20s: port this service will use [%d]\n"</span>
<a name="l00053"></a>00053 <span class="stringliteral">"\t%-20s: path where the logfiles will be stored [%s/]\n"</span>
<a name="l00054"></a>00054 <span class="stringliteral">"\t%-20s: patten used by strftime to create the log filename [%s]\n"</span>
<a name="l00055"></a>00055 <span class="stringliteral">"\t%-20s: maximum connection backlog [%d]\n"</span>
<a name="l00056"></a>00056 <span class="stringliteral">"\t%-20s: be more verbose in syslog [off]\n"</span>
<a name="l00057"></a>00057 <span class="stringliteral">"\t%-20s: deamonize me\n"</span>,
<a name="l00058"></a>00058 argv[0],
<a name="l00059"></a>00059 <span class="stringliteral">"-p port"</span>, <a class="code" href="appConfig_8h.html#3db4dba8d56385b62759b89c98cae447">DEFAULTPORT</a>,
<a name="l00060"></a>00060 <span class="stringliteral">"-l logPath"</span>, <a class="code" href="appConfig_8h.html#0672e2d34f3bbe2f6cdad6f307b9d1cf">DEFAULTPATH</a>,
<a name="l00061"></a>00061 <span class="stringliteral">"-n logNamePattern"</span>, <a class="code" href="appConfig_8h.html#9a98b2d0f973e357020c1274ec5b56c0">LOGNAMEPATTERN</a>,
<a name="l00062"></a>00062 <span class="stringliteral">"-b backlog"</span>, <a class="code" href="appConfig_8h.html#f77ed3e65a7b1a9341603d152a1404df">MAXPENDING</a>,
<a name="l00063"></a>00063 <span class="stringliteral">"-v"</span>,
<a name="l00064"></a>00064 <span class="stringliteral">"-D"</span>);
<a name="l00065"></a>00065 exit(EXIT_FAILURE);
<a name="l00066"></a>00066 }
<a name="l00067"></a>00067 }
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keywordflow">return</span> 0;
<a name="l00070"></a>00070 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

80
.doc/html/handleCmdLine_8c.html

@ -1,80 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/handleCmdLine.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>system/handleCmdLine.c File Reference</h1><code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &quot;<a class="el" href="appConfig_8h-source.html">../include/appConfig.h</a>&quot;</code><br>
<p>
<a href="handleCmdLine_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="3755d793d10d6e5793ed5086a0b22964"></a><!-- doxytag: member="handleCmdLine.c::handleCmdLine" ref="3755d793d10d6e5793ed5086a0b22964" args="(tAppConfig *config, int argc, char *argv[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int handleCmdLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtAppConfig.html">tAppConfig</a> *&nbsp;</td>
<td class="paramname"> <em>config</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>argv</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

282
.doc/html/httpRequest_8c-source.html

@ -1,282 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: reader/httpReader/httpRequest.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;ctype.h&gt;</span>
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="preprocessor">#include "../../include/appConfig.h"</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include "../../include/httpRequest.h"</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include "../../include/client.h"</span>
<a name="l00009"></a>00009
<a name="l00010"></a><a class="code" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">00010</a> <span class="preprocessor">#define SPACE 0x20</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span>
<a name="l00012"></a>00012
<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] = {
<a name="l00014"></a>00014 <span class="stringliteral">"OPTIONS"</span>,
<a name="l00015"></a>00015 <span class="stringliteral">"GET"</span>,
<a name="l00016"></a>00016 <span class="stringliteral">"HEAD"</span>,
<a name="l00017"></a>00017 <span class="stringliteral">"POST"</span>,
<a name="l00018"></a>00018 <span class="stringliteral">"PUT"</span>,
<a name="l00019"></a>00019 <span class="stringliteral">"DELETE"</span>,
<a name="l00020"></a>00020 <span class="stringliteral">"TRACE"</span>,
<a name="l00021"></a>00021 <span class="stringliteral">"CONNECT"</span>
<a name="l00022"></a>00022 };
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="comment">/*</span>
<a name="l00025"></a>00025 <span class="comment"> * Gedanken zum request einlese:</span>
<a name="l00026"></a>00026 <span class="comment"> * der client liest stumpf daten, außerdem implementiert er eine Methode um die</span>
<a name="l00027"></a>00027 <span class="comment"> * erste Zeile aus dem readbuffer zu entfernen.</span>
<a name="l00028"></a>00028 <span class="comment"> * Des weiteren eine Methode getLine die NULL zurück gibt wenn noch keine Zeile</span>
<a name="l00029"></a>00029 <span class="comment"> * komplett ist, ansonsten einen Pointer auf diese.</span>
<a name="l00030"></a>00030 <span class="comment"> * Der servercode triggert das Daten lesen des client, versucht dann die erste</span>
<a name="l00031"></a>00031 <span class="comment"> * Zeile zu lesen und gibt diese im erfolgsfall an den httpCode weiter um</span>
<a name="l00032"></a>00032 <span class="comment"> * dann wenn dieser ein OK gibt die erste Zeile über den clientCode wieder zu entfernen.</span>
<a name="l00033"></a>00033 <span class="comment"> * Leere Zeile vor der request line werden ignoriert.</span>
<a name="l00034"></a>00034 <span class="comment"> * Ebenso leere Zailen nachdem der request komplett eingelesen ist.</span>
<a name="l00035"></a>00035 <span class="comment"> * Nachdem alle Header Zeile eingelesen wurden...d.H. sobald eine leere Header Zeile</span>
<a name="l00036"></a>00036 <span class="comment"> * gelesen wurde wird exakt bodyLength vom client versucht zu lesen...hierbei</span>
<a name="l00037"></a>00037 <span class="comment"> * können die Daten die von client kommen in den body buffer übertragen werden.</span>
<a name="l00038"></a>00038 <span class="comment"> * Dabei kann im client code der buffer immer entsprechend zurück gesetzt werden.</span>
<a name="l00039"></a>00039 <span class="comment"> */</span>
<a name="l00040"></a>00040 <span class="keywordtype">int</span>
<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)
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 <span class="keywordflow">return</span> 1;
<a name="l00044"></a>00044 }
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="keywordtype">void</span>
<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)
<a name="l00048"></a>00048 {
<a name="l00049"></a>00049 }
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keywordtype">int</span>
<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)
<a name="l00053"></a>00053 {
<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>) {
<a name="l00055"></a>00055 <span class="keywordflow">return</span> 0;
<a name="l00056"></a>00056 }
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keywordflow">return</span> 1;
<a name="l00059"></a>00059 }
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>
<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) {
<a name="l00063"></a>00063 <span class="keywordflow">return</span> 1;
<a name="l00064"></a>00064 }
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">static</span> <span class="keywordtype">void</span>
<a name="l00067"></a>00067 httpRequestStrip(<span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos)
<a name="l00068"></a>00068 {
<a name="l00069"></a>00069 <span class="keywordtype">char</span> * <a class="code" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">end</a> = *buffer;
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="comment">/* remove all surrounding CRLF */</span>
<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) {
<a name="l00073"></a>00073 end++;
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keywordflow">if</span> (end != *buffer) {
<a name="l00077"></a>00077 memmove(*buffer, end, *readPos - (end - *buffer));
<a name="l00078"></a>00078 memset(*buffer, 0, end - *buffer);
<a name="l00079"></a>00079
<a name="l00080"></a>00080 *readPos -= (end - * buffer);
<a name="l00081"></a>00081 }
<a name="l00082"></a>00082 }
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="keywordtype">int</span>
<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)
<a name="l00086"></a>00086 {
<a name="l00087"></a>00087 <span class="keywordtype">char</span> * end = *buffer;
<a name="l00088"></a>00088 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> readPosNew;
<a name="l00089"></a>00089
<a name="l00090"></a>00090 httpRequestStrip(buffer, readPos);
<a name="l00091"></a>00091 end = strstr(*buffer, <span class="stringliteral">"\r\n\r\n"</span>);
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="comment">/* get header if not already read and complete */</span>
<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) {
<a name="l00095"></a>00095 <span class="comment">/* get request line */</span>
<a name="l00096"></a>00096 <span class="keywordtype">char</span> * methodEnd = strchr(*buffer, <a class="code" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">SPACE</a>);
<a name="l00097"></a>00097 <span class="keywordtype">char</span> * uriEnd = strchr(methodEnd + 1, <a class="code" href="httpRequest_8c.html#5ff6e798033f03e74730e99f01936f84">SPACE</a>);
<a name="l00098"></a>00098 <span class="keywordtype">char</span> * lineEnd = strstr(*buffer, <span class="stringliteral">"\r\n"</span>);
<a name="l00099"></a>00099
<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> =
<a name="l00101"></a>00101 calloc(methodEnd-*buffer+1, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
<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> =
<a name="l00103"></a>00103 calloc(uriEnd-methodEnd, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
<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> =
<a name="l00105"></a>00105 calloc(lineEnd-uriEnd, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
<a name="l00106"></a>00106
<a name="l00107"></a>00107 sscanf(*buffer, <span class="stringliteral">"%s %s %s\r\n"</span>,
<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>,
<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>,
<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>);
<a name="l00111"></a>00111
<a name="l00112"></a>00112 readPosNew = (*buffer + *readPos) - lineEnd - 2;
<a name="l00113"></a>00113 memmove(*buffer, lineEnd + 2, readPosNew);
<a name="l00114"></a>00114 memset(*buffer + readPosNew, 0, *readPos - readPosNew);
<a name="l00115"></a>00115 *readPos = readPosNew;
<a name="l00116"></a>00116
<a name="l00117"></a>00117 <span class="comment">/* get all header lines */</span>
<a name="l00118"></a>00118 <span class="keywordflow">do</span> {
<a name="l00119"></a>00119 <span class="keywordtype">char</span> * keyEnd = strchr(*buffer, <span class="charliteral">':'</span>);
<a name="l00120"></a>00120
<a name="l00121"></a>00121 lineEnd = strstr(*buffer, <span class="stringliteral">"\r\n"</span>);
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="keywordflow">if</span> (lineEnd != *buffer) {
<a name="l00124"></a>00124 <a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a> * actHeader;
<a name="l00125"></a>00125 <span class="keywordtype">char</span> * actKey = NULL;
<a name="l00126"></a>00126
<a name="l00127"></a>00127 request-&gt;<a class="code" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">headersCount</a> += 1;
<a name="l00128"></a>00128
<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>,
<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>));
<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]);
<a name="l00132"></a>00132 memset(actHeader, 0, <span class="keyword">sizeof</span>(<a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a>));
<a name="l00133"></a>00133
<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>));
<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>));
<a name="l00136"></a>00136
<a name="l00137"></a>00137 sscanf(*buffer, <span class="stringliteral">"%[^:]:%s\r\n"</span>,
<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>);
<a name="l00139"></a>00139 <span class="comment">//while (NULL != actKey &amp;&amp; *actKey != '\0' &amp;&amp; (*actKey = tolower(*(actKey++)))); // strtolower</span>
<a name="l00140"></a>00140 <span class="keywordflow">for</span> (; NULL != actKey &amp;&amp; *actKey != <span class="charliteral">'\0'</span>; actKey++) {
<a name="l00141"></a>00141 *actKey = tolower(*actKey);
<a name="l00142"></a>00142 }
<a name="l00143"></a>00143
<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>))) {
<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>);
<a name="l00146"></a>00146 }
<a name="l00147"></a>00147 }
<a name="l00148"></a>00148
<a name="l00149"></a>00149 readPosNew = (*buffer + *readPos) - lineEnd - 2;
<a name="l00150"></a>00150 memmove(*buffer, lineEnd + 2, readPosNew);
<a name="l00151"></a>00151 memset(*buffer + readPosNew, 0, *readPos - readPosNew);
<a name="l00152"></a>00152 *readPos = readPosNew;
<a name="l00153"></a>00153 } <span class="keywordflow">while</span> (lineEnd != *buffer);
<a name="l00154"></a>00154
<a name="l00155"></a>00155 <span class="keywordflow">return</span> request-&gt;<a class="code" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">bodyLength</a>;
<a name="l00156"></a>00156 }
<a name="l00157"></a>00157
<a name="l00158"></a>00158 <span class="keywordflow">return</span> 0;
<a name="l00159"></a>00159 }
<a name="l00160"></a>00160
<a name="l00161"></a>00161 <span class="keywordtype">int</span>
<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)
<a name="l00163"></a>00163 {
<a name="l00164"></a>00164 <span class="comment">/* get body if header is read and body incomplete */</span>
<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>) {
<a name="l00166"></a>00166 <span class="keywordtype">size_t</span> size = <a class="code" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">MIN</a>(
<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>,
<a name="l00168"></a>00168 *readPos);
<a name="l00169"></a>00169
<a name="l00170"></a>00170 <span class="keywordflow">if</span> (0 != size) {
<a name="l00171"></a>00171 <span class="keywordflow">if</span> (NULL == request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a>) {
<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>));
<a name="l00173"></a>00173 }
<a name="l00174"></a>00174
<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);
<a name="l00176"></a>00176 memmove(*buffer, *buffer + size, *readPos - size);
<a name="l00177"></a>00177 memset(*buffer + (*readPos - size), 0, size);
<a name="l00178"></a>00178 *readPos -= size;
<a name="l00179"></a>00179 request-&gt;<a class="code" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">length</a> += size;
<a name="l00180"></a>00180 }
<a name="l00181"></a>00181 }
<a name="l00182"></a>00182
<a name="l00183"></a>00183 <span class="keywordflow">return</span> 0;
<a name="l00184"></a>00184 }
<a name="l00185"></a>00185
<a name="l00186"></a>00186 <span class="keywordtype">void</span>
<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) {
<a name="l00188"></a>00188 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
<a name="l00189"></a>00189
<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>) {
<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>);
<a name="l00192"></a>00192 }
<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>) {
<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>);
<a name="l00195"></a>00195 }
<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>) {
<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>);
<a name="l00198"></a>00198 }
<a name="l00199"></a>00199
<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++) {
<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>) {
<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>);
<a name="l00203"></a>00203 }
<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>) {
<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>);
<a name="l00206"></a>00206 }
<a name="l00207"></a>00207 }
<a name="l00208"></a>00208
<a name="l00209"></a>00209 <span class="keywordflow">if</span> (NULL != header-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>) {
<a name="l00210"></a>00210 free(header-&gt;<a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a>);
<a name="l00211"></a>00211 }
<a name="l00212"></a>00212
<a name="l00213"></a>00213 memset (header, 0, <span class="keyword">sizeof</span> (<a class="code" href="structtHttpHeader.html">tHttpHeader</a>));
<a name="l00214"></a>00214 }
<a name="l00215"></a>00215
<a name="l00216"></a>00216 <span class="keywordtype">void</span>
<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) {
<a name="l00218"></a>00218 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
<a name="l00219"></a>00219
<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>) {
<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>);
<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;
<a name="l00223"></a>00223 }
<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>) {
<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>);
<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;
<a name="l00227"></a>00227 }
<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>) {
<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>);
<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;
<a name="l00231"></a>00231 }
<a name="l00232"></a>00232
<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++) {
<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>) {
<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>);
<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;
<a name="l00237"></a>00237 }
<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>) {
<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>);
<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;
<a name="l00241"></a>00241 }
<a name="l00242"></a>00242 }
<a name="l00243"></a>00243
<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>) {
<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>);
<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;
<a name="l00247"></a>00247 }
<a name="l00248"></a>00248
<a name="l00249"></a>00249 <span class="keywordflow">if</span> (NULL != request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a>) {
<a name="l00250"></a>00250 free(request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a>);
<a name="l00251"></a>00251 request-&gt;<a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a> = NULL;
<a name="l00252"></a>00252 }
<a name="l00253"></a>00253
<a name="l00254"></a>00254 memset (request, 0, <span class="keyword">sizeof</span> (<a class="code" href="structtHttpRequest.html">tHttpRequest</a>));
<a name="l00255"></a>00255 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

347
.doc/html/httpRequest_8c.html

@ -1,347 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: reader/httpReader/httpRequest.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>reader/httpReader/httpRequest.c File Reference</h1><code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;ctype.h&gt;</code><br>
<code>#include &quot;<a class="el" href="appConfig_8h-source.html">../../include/appConfig.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="httpRequest_8h-source.html">../../include/httpRequest.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="client_8h-source.html">../../include/client.h</a>&quot;</code><br>
<p>
<a href="httpRequest_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<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>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<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>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="5ff6e798033f03e74730e99f01936f84"></a><!-- doxytag: member="httpRequest.c::SPACE" ref="5ff6e798033f03e74730e99f01936f84" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPACE&nbsp;&nbsp;&nbsp;0x20 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="86d86da69aefe2067f750c80e626de7c"></a><!-- doxytag: member="httpRequest.c::freeHttpHeader" ref="86d86da69aefe2067f750c80e626de7c" args="(tHttpHeader *header)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void freeHttpHeader </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> <em>header</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="d1d9e65b1761d1d5f809314b4b05e772"></a><!-- doxytag: member="httpRequest.c::freeHttpRequest" ref="d1d9e65b1761d1d5f809314b4b05e772" args="(tHttpRequest *request)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void freeHttpRequest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpRequest.html">tHttpRequest</a> *&nbsp;</td>
<td class="paramname"> <em>request</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="9a6b00ad980ca9a2c5023ec1a802106b"></a><!-- doxytag: member="httpRequest.c::getHttpRequest" ref="9a6b00ad980ca9a2c5023ec1a802106b" args="(char **buffer, unsigned int *readPos, tHttpRequest *request)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int getHttpRequest </td>
<td>(</td>
<td class="paramtype">char **&nbsp;</td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>readPos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structtHttpRequest.html">tHttpRequest</a> *&nbsp;</td>
<td class="paramname"> <em>request</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="fd4f839160f6d97ad28e05ee1ce81188"></a><!-- doxytag: member="httpRequest.c::httpHeaderGet" ref="fd4f839160f6d97ad28e05ee1ce81188" args="(char **buffer, unsigned int *readPos, tHttpHeader *request)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int httpHeaderGet </td>
<td>(</td>
<td class="paramtype">char **&nbsp;</td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>readPos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> <em>request</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="c96f6dae9ced89eb2ae8ac556918e367"></a><!-- doxytag: member="httpRequest.c::httpHeaderGetLine" ref="c96f6dae9ced89eb2ae8ac556918e367" args="(tHttpHeader *header, char **buffer, unsigned int *readPos)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int httpHeaderGetLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> <em>header</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char **&nbsp;</td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>readPos</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="d5d9232083e5890588d5e1840341a48b"></a><!-- doxytag: member="httpRequest.c::httpHeaderIsComplete" ref="d5d9232083e5890588d5e1840341a48b" args="(tHttpHeader *header)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int httpHeaderIsComplete </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> <em>header</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="29982601e2121cd75800202f5716c7f5"></a><!-- doxytag: member="httpRequest.c::httpHeaderIsStarted" ref="29982601e2121cd75800202f5716c7f5" args="(tHttpHeader *header)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char httpHeaderIsStarted </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> <em>header</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="e18ae9e899c3c951308bb2ec4bd810f5"></a><!-- doxytag: member="httpRequest.c::httpHeaderParseRequestLine" ref="e18ae9e899c3c951308bb2ec4bd810f5" args="(tHttpHeader *header, const char *line, unsigned int len)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void httpHeaderParseRequestLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> <em>header</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>len</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="e7110ef069c94769a78296dc38ab86ca"></a><!-- doxytag: member="httpRequest.c::httpRequest" ref="e7110ef069c94769a78296dc38ab86ca" args="[8][8]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest</a>[8][8] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
<span class="stringliteral">"OPTIONS"</span>,
<span class="stringliteral">"GET"</span>,
<span class="stringliteral">"HEAD"</span>,
<span class="stringliteral">"POST"</span>,
<span class="stringliteral">"PUT"</span>,
<span class="stringliteral">"DELETE"</span>,
<span class="stringliteral">"TRACE"</span>,
<span class="stringliteral">"CONNECT"</span>
}
</pre></div>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

77
.doc/html/httpRequest_8h-source.html

@ -1,77 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/httpRequest.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __HTTP_REQUEST_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a><a class="code" href="httpRequest_8h.html#bcd1460716fe0d7d7bbfab4d8df7431b">00004</a> <span class="preprocessor">#define HTTP_REQ_OPTIONS 0</span>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<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];
<a name="l00014"></a>00014
<a name="l00015"></a>00015
<a name="l00016"></a><a class="code" href="structtRequestLine.html">00016</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00017"></a><a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">00017</a> <span class="keywordtype">char</span> * method;
<a name="l00018"></a><a class="code" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">00018</a> <span class="keywordtype">char</span> * requestUri;
<a name="l00019"></a><a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">00019</a> <span class="keywordtype">char</span> * httpVersion;
<a name="l00020"></a>00020 } <a class="code" href="structtRequestLine.html">tRequestLine</a>;
<a name="l00021"></a>00021
<a name="l00022"></a><a class="code" href="structtHttpHeaderLine.html">00022</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00023"></a><a class="code" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">00023</a> <span class="keywordtype">char</span> * key;
<a name="l00024"></a><a class="code" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">00024</a> <span class="keywordtype">char</span> * value;
<a name="l00025"></a>00025 } <a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a>;
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="structtHttpHeader.html">00027</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00028"></a><a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">00028</a> <a class="code" href="structtRequestLine.html">tRequestLine</a> req;
<a name="l00029"></a><a class="code" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">00029</a> <a class="code" href="structtHttpHeaderLine.html">tHttpHeaderLine</a> * headers;
<a name="l00030"></a><a class="code" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">00030</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> headersCount;
<a name="l00031"></a>00031
<a name="l00032"></a><a class="code" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">00032</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> bodyLength;
<a name="l00033"></a>00033 } <a class="code" href="structtHttpHeader.html">tHttpHeader</a>;
<a name="l00034"></a>00034
<a name="l00035"></a><a class="code" href="structtHttpRequest.html">00035</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00036"></a><a class="code" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">00036</a> <a class="code" href="structtHttpHeader.html">tHttpHeader</a> header;
<a name="l00037"></a><a class="code" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">00037</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length;
<a name="l00038"></a><a class="code" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">00038</a> <span class="keywordtype">char</span> * body;
<a name="l00039"></a>00039 } <a class="code" href="structtHttpRequest.html">tHttpRequest</a>;
<a name="l00040"></a>00040
<a name="l00041"></a>00041
<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> *);
<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> *);
<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> *);
<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> *);
<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> *);
<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> *);
<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>);
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="preprocessor">#endif // __HTTP_REQUEST_H__</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

433
.doc/html/httpRequest_8h.html

@ -1,433 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/httpRequest.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/httpRequest.h File Reference</h1>
<p>
<a href="httpRequest_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<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>
<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>
<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>
<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>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<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>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="5e49980e0d7d4080e2cececd00796981"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_CONNECT" ref="5e49980e0d7d4080e2cececd00796981" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HTTP_REQ_CONNECT&nbsp;&nbsp;&nbsp;7 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="2894c25df3d2e54885cc414aa9731811"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_DELETE" ref="2894c25df3d2e54885cc414aa9731811" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HTTP_REQ_DELETE&nbsp;&nbsp;&nbsp;5 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="783bb94ef6eee3041b08244fcf43304f"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_GET" ref="783bb94ef6eee3041b08244fcf43304f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HTTP_REQ_GET&nbsp;&nbsp;&nbsp;1 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="99dd5b1289103eee62ebd66082f03e98"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_HEAD" ref="99dd5b1289103eee62ebd66082f03e98" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HTTP_REQ_HEAD&nbsp;&nbsp;&nbsp;2 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="bcd1460716fe0d7d7bbfab4d8df7431b"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_OPTIONS" ref="bcd1460716fe0d7d7bbfab4d8df7431b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HTTP_REQ_OPTIONS&nbsp;&nbsp;&nbsp;0 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="b113eaf10da1f4291202f81bea630f5b"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_POST" ref="b113eaf10da1f4291202f81bea630f5b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HTTP_REQ_POST&nbsp;&nbsp;&nbsp;3 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="af09691edc99a286c60427e1f390d7bd"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_PUT" ref="af09691edc99a286c60427e1f390d7bd" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HTTP_REQ_PUT&nbsp;&nbsp;&nbsp;4 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="21cd537dafe8cd458fbb1eeb1208f4a8"></a><!-- doxytag: member="httpRequest.h::HTTP_REQ_TRACE" ref="21cd537dafe8cd458fbb1eeb1208f4a8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HTTP_REQ_TRACE&nbsp;&nbsp;&nbsp;6 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="b55d3458cc9e50ef2a22731d910c6385"></a><!-- doxytag: member="httpRequest.h::freeHttpHeader" ref="b55d3458cc9e50ef2a22731d910c6385" args="(tHttpHeader *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void freeHttpHeader </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="1bba1865657c64c0e1971a45ee6117ab"></a><!-- doxytag: member="httpRequest.h::freeHttpRequest" ref="1bba1865657c64c0e1971a45ee6117ab" args="(tHttpRequest *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void freeHttpRequest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpRequest.html">tHttpRequest</a> *&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="59d765731e7d39f5583ef175950becb1"></a><!-- doxytag: member="httpRequest.h::getHttpRequest" ref="59d765731e7d39f5583ef175950becb1" args="(char **, unsigned int *, tHttpRequest *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int getHttpRequest </td>
<td>(</td>
<td class="paramtype">char **&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structtHttpRequest.html">tHttpRequest</a> *&nbsp;</td>
<td class="paramname"></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="07afde622816238d4424591269f5616a"></a><!-- doxytag: member="httpRequest.h::httpHeaderGet" ref="07afde622816238d4424591269f5616a" args="(char **, unsigned int *, tHttpHeader *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int httpHeaderGet </td>
<td>(</td>
<td class="paramtype">char **&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="91e1c62216e1370b68a87ffc8b120f0d"></a><!-- doxytag: member="httpRequest.h::httpHeaderIsComplete" ref="91e1c62216e1370b68a87ffc8b120f0d" args="(tHttpHeader *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int httpHeaderIsComplete </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="99eb3b2c1e06ee773fd3bb7da7e98ece"></a><!-- doxytag: member="httpRequest.h::httpHeaderIsStarted" ref="99eb3b2c1e06ee773fd3bb7da7e98ece" args="(tHttpHeader *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char httpHeaderIsStarted </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<a class="anchor" name="b7ea84417c64cc894ef20f3fad58832f"></a><!-- doxytag: member="httpRequest.h::httpHeaderParseRequestLine" ref="b7ea84417c64cc894ef20f3fad58832f" args="(tHttpHeader *, const char *, unsigned int)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void httpHeaderParseRequestLine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> *&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>int</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="e7110ef069c94769a78296dc38ab86ca"></a><!-- doxytag: member="httpRequest.h::httpRequest" ref="e7110ef069c94769a78296dc38ab86ca" args="[8][8]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="httpRequest_8c.html#e7110ef069c94769a78296dc38ab86ca">httpRequest</a>[8][8] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

11
.doc/html/index.html

@ -1,11 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc</title></head>
<frameset cols="250,*">
<frame src="tree.html" name="treefrm">
<frame src="main.html" name="basefrm">
<noframes>
<a href="main.html">Frames are disabled. Click here to go to the main page.</a>
</noframes>
</frameset>
</html>

110
.doc/html/logRotate_8c-source.html

@ -1,110 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/logRotate.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;time.h&gt;</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for fork and exec */</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;sys/wait.h&gt;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* fopen and stuff */</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* exit */</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* strncpy, memcpy, etc. */</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;syslog.h&gt;</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;errno.h&gt;</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#include "../include/monitor.h"</span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014
<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>;
<a name="l00016"></a>00016
<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) {
<a name="l00018"></a>00018 <span class="keyword">static</span> <span class="keywordtype">char</span> logName[1024] = <span class="stringliteral">""</span>;
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="keywordtype">char</span> strftimeName[128] = <span class="stringliteral">""</span>;
<a name="l00021"></a>00021 <span class="keywordtype">char</span> newLogName[1024] = <span class="stringliteral">""</span>;
<a name="l00022"></a>00022
<a name="l00023"></a>00023 time_t t;
<a name="l00024"></a>00024 <span class="keyword">struct </span>tm *tmp;
<a name="l00025"></a>00025
<a name="l00026"></a>00026 t = time(NULL);
<a name="l00027"></a>00027 tmp = localtime(&amp;t);
<a name="l00028"></a>00028 <span class="keywordflow">if</span> (tmp == NULL) {
<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>,
<a name="l00030"></a>00030 <span class="stringliteral">"can't get localtime for new logname. continue with old one"</span>);
<a name="l00031"></a>00031 <span class="keywordflow">return</span>;
<a name="l00032"></a>00032 }
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="keywordflow">if</span> (strftime(strftimeName, <span class="keyword">sizeof</span>(strftimeName)-1, pattern, tmp) == 0) {
<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>,
<a name="l00036"></a>00036 <span class="stringliteral">"strftime returned 0 for new logname. continue with old one"</span>);
<a name="l00037"></a>00037 <span class="keywordflow">return</span>;
<a name="l00038"></a>00038 }
<a name="l00039"></a>00039
<a name="l00040"></a>00040 snprintf(newLogName, <span class="keyword">sizeof</span>(newLogName)-1, <span class="stringliteral">"%s/%s"</span>, path, strftimeName);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keywordflow">if</span> (0 != strncmp(logName, newLogName, <span class="keyword">sizeof</span>(logName)-1)) {
<a name="l00043"></a>00043 <span class="keywordflow">if</span> (0 != <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>) {
<a name="l00044"></a>00044 syslog(LOG_INFO, <span class="stringliteral">"actual logfile name: %s"</span>, logName);
<a name="l00045"></a>00045 syslog(LOG_INFO, <span class="stringliteral">"new logfile name: %s"</span>, newLogName);
<a name="l00046"></a>00046 }
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="keywordflow">if</span> (NULL != *handle) {
<a name="l00049"></a>00049 fclose(*handle);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 pid_t gzipPid = fork();
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keywordflow">switch</span>(gzipPid) {
<a name="l00054"></a>00054 pid_t tmpPid;
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keywordflow">case</span> 0:
<a name="l00057"></a>00057 <span class="comment">// We don't care about finishing of child, so decouple it</span>
<a name="l00058"></a>00058 <span class="comment">// by using a second child that stop immediatly</span>
<a name="l00059"></a>00059 tmpPid = fork();
<a name="l00060"></a>00060 <span class="keywordflow">if</span> (0 == tmpPid) {
<a name="l00061"></a>00061 syslog(LOG_INFO, <span class="stringliteral">"gzip: %s"</span>, logName);
<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)) {
<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>,
<a name="l00064"></a>00064 <span class="stringliteral">"execl failed for gzip %s: %s"</span>, logName, strerror(errno));
<a name="l00065"></a>00065 }
<a name="l00066"></a>00066 }
<a name="l00067"></a>00067 exit(EXIT_SUCCESS);
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keywordflow">case</span> -1:
<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>,
<a name="l00071"></a>00071 <span class="stringliteral">"fork failed for gzip %s: %s"</span>, logName, strerror(errno));
<a name="l00072"></a>00072 <span class="keywordflow">break</span>;
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keywordflow">default</span>:
<a name="l00075"></a>00075 wait(NULL);
<a name="l00076"></a>00076 <span class="keywordflow">break</span>;
<a name="l00077"></a>00077 }
<a name="l00078"></a>00078 }
<a name="l00079"></a>00079
<a name="l00080"></a>00080 strncpy(logName, newLogName, <span class="keyword">sizeof</span>(logName)-1);
<a name="l00081"></a>00081 *handle = fopen(logName, <span class="stringliteral">"w"</span>);
<a name="l00082"></a>00082 }
<a name="l00083"></a>00083 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

105
.doc/html/logRotate_8c.html

@ -1,105 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/logRotate.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>system/logRotate.c File Reference</h1><code>#include &lt;sys/select.h&gt;</code><br>
<code>#include &lt;time.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;sys/types.h&gt;</code><br>
<code>#include &lt;sys/wait.h&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;syslog.h&gt;</code><br>
<code>#include &lt;errno.h&gt;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
<p>
<a href="logRotate_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<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>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="70a3ebded819019c99ad001f29e082de"></a><!-- doxytag: member="logRotate.c::logRotate" ref="70a3ebded819019c99ad001f29e082de" args="(FILE **handle, char *path, char *pattern)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void logRotate </td>
<td>(</td>
<td class="paramtype">FILE **&nbsp;</td>
<td class="paramname"> <em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>pattern</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="0b2caeb4b6f130be43e5a2f0267dd453"></a><!-- doxytag: member="logRotate.c::verbose" ref="0b2caeb4b6f130be43e5a2f0267dd453" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

33
.doc/html/logRotate_8h-source.html

@ -1,33 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/logRotate.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __LOG_ROTATE_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<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);
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="preprocessor">#endif </span><span class="comment">/* __LOG_ROTATE_H__ */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

75
.doc/html/logRotate_8h.html

@ -1,75 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/logRotate.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/logRotate.h File Reference</h1>
<p>
<a href="logRotate_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<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>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="82df920a9975d5484d681c6f9009da38"></a><!-- doxytag: member="logRotate.h::logRotate" ref="82df920a9975d5484d681c6f9009da38" args="(FILE **handle, char *logPath, char *logNamePattern)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void logRotate </td>
<td>(</td>
<td class="paramtype">FILE **&nbsp;</td>
<td class="paramname"> <em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>logPath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>logNamePattern</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<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>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

25
.doc/html/main.html

@ -1,25 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li class="current"><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>xmlrpc Documentation</h1>
<p>
<h3 align="center">0.0.1 </h3></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

114
.doc/html/monitor_8c-source.html

@ -1,114 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/monitor.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<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>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;sys/wait.h&gt;</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;errno.h&gt;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;signal.h&gt;</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;stdarg.h&gt;</span> <span class="comment">/* for ellipse handling */</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="preprocessor">#include "../include/signalHandling.h"</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include "../include/monitor.h"</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a><a class="code" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">00013</a> <span class="preprocessor">#define MONITORCMD "/usr/bin/monitor"</span>
<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>
<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>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<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] = {
<a name="l00018"></a>00018 <span class="stringliteral">"info"</span>,
<a name="l00019"></a>00019 <span class="stringliteral">"warning"</span>,
<a name="l00020"></a>00020 <span class="stringliteral">"critical"</span>,
<a name="l00021"></a>00021 <span class="stringliteral">"failure"</span>
<a name="l00022"></a>00022 };
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keywordtype">int</span>
<a name="l00026"></a><a class="code" href="monitor_8c.html#afab1757e8c3bc9c5143490b256cb684">00026</a> <a class="code" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor</a>(
<a name="l00027"></a>00027 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sev,
<a name="l00028"></a>00028 <span class="keyword">const</span> <span class="keywordtype">char</span> * pattern,
<a name="l00029"></a>00029 <span class="keyword">const</span> <span class="keywordtype">char</span> * message
<a name="l00030"></a>00030 ) {
<a name="l00031"></a>00031 <span class="keywordtype">char</span> monCall[1024];
<a name="l00032"></a>00032 <span class="keywordtype">int</span> ret;
<a name="l00033"></a>00033
<a name="l00034"></a>00034 snprintf(monCall, 1023,
<a name="l00035"></a>00035 <span class="stringliteral">"%s %s %s.%s.%s \"%s\""</span>,
<a name="l00036"></a>00036 <a class="code" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">MONITORCMD</a>,
<a name="l00037"></a>00037 <a class="code" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">severity</a>[sev],
<a name="l00038"></a>00038 <a class="code" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">MONITORTYPE</a>,
<a name="l00039"></a>00039 <a class="code" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">MONITORNAME</a>,
<a name="l00040"></a>00040 pattern,
<a name="l00041"></a>00041 message);
<a name="l00042"></a>00042
<a name="l00043"></a>00043 ret = system(monCall);
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keywordflow">if</span> (WIFSIGNALED(ret)) {
<a name="l00046"></a>00046 <span class="keywordflow">switch</span> (WTERMSIG(ret)) {
<a name="l00047"></a>00047 <span class="keywordflow">case</span> SIGINT:
<a name="l00048"></a>00048 <span class="keywordflow">case</span> SIGQUIT:
<a name="l00049"></a>00049 syslog(LOG_INFO, <span class="stringliteral">"interrupted in monitor call"</span>);
<a name="l00050"></a>00050 <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a>=1;
<a name="l00051"></a>00051 }
<a name="l00052"></a>00052 }
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordflow">if</span> (-1 == ret || 0 != WEXITSTATUS(ret)) {
<a name="l00055"></a>00055 syslog(LOG_ERR, <span class="stringliteral">"call monitoring failed: %s"</span>, strerror(errno));
<a name="l00056"></a>00056 }
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keywordflow">return</span> ret;
<a name="l00059"></a>00059 }
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="comment">/* this handles simple %d and %s replacements,</span>
<a name="l00062"></a>00062 <span class="comment"> * complexer stuff must be prepared via snprintf</span>
<a name="l00063"></a>00063 <span class="comment"> * the complete message should not extend 1024</span>
<a name="l00064"></a>00064 <span class="comment"> * Bytes, else it will be truncated silently */</span>
<a name="l00065"></a>00065 <span class="keywordtype">int</span>
<a name="l00066"></a><a class="code" href="monitor_8c.html#13e7bf0022db0d9f5dd6aeb82ec69999">00066</a> <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(
<a name="l00067"></a>00067 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> logLvl,
<a name="l00068"></a>00068 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sev,
<a name="l00069"></a>00069 <span class="keyword">const</span> <span class="keywordtype">char</span> * pattern,
<a name="l00070"></a>00070 <span class="keyword">const</span> <span class="keywordtype">char</span> * message,
<a name="l00071"></a>00071 ...
<a name="l00072"></a>00072 ) {
<a name="l00073"></a>00073 va_list args;
<a name="l00074"></a>00074 <span class="keywordtype">char</span> buffer[1025];
<a name="l00075"></a>00075 <span class="keywordtype">int</span> maxBuf = <span class="keyword">sizeof</span>(buffer)/<span class="keyword">sizeof</span>(buffer[0]);
<a name="l00076"></a>00076
<a name="l00077"></a>00077 memset(buffer, 0, maxBuf);
<a name="l00078"></a>00078
<a name="l00079"></a>00079 va_start(args, message);
<a name="l00080"></a>00080 vsnprintf(buffer, 1024, message, args);
<a name="l00081"></a>00081 va_end(args);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 syslog(logLvl, <span class="stringliteral">"%s"</span>, buffer);
<a name="l00084"></a>00084 <a class="code" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor</a>(sev, pattern, buffer);
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="keywordflow">return</span> 0;
<a name="l00087"></a>00087 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

221
.doc/html/monitor_8c.html

@ -1,221 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/monitor.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>system/monitor.c File Reference</h1><code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;sys/wait.h&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;errno.h&gt;</code><br>
<code>#include &lt;signal.h&gt;</code><br>
<code>#include &lt;stdarg.h&gt;</code><br>
<code>#include &quot;<a class="el" href="signalHandling_8h-source.html">../include/signalHandling.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
<p>
<a href="monitor_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#d2e5f556fda8453832fa6b5f7c92bc85">MONITORCMD</a>&nbsp;&nbsp;&nbsp;&quot;/usr/bin/monitor&quot;</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#630eb7604f0fe1161c6165cec5200b3d">MONITORTYPE</a>&nbsp;&nbsp;&nbsp;&quot;test&quot;</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#d79291fa6d09c30b5ad1c10c8a5d647f">MONITORNAME</a>&nbsp;&nbsp;&nbsp;&quot;virtualitemlogreceiver&quot;</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#afab1757e8c3bc9c5143490b256cb684">monitor</a> (unsigned int sev, const char *pattern, const char *message)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#13e7bf0022db0d9f5dd6aeb82ec69999">syslogMonitor</a> (unsigned int logLvl, unsigned int sev, const char *pattern, const char *message,...)</td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">severity</a> [][10]</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="d2e5f556fda8453832fa6b5f7c92bc85"></a><!-- doxytag: member="monitor.c::MONITORCMD" ref="d2e5f556fda8453832fa6b5f7c92bc85" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MONITORCMD&nbsp;&nbsp;&nbsp;&quot;/usr/bin/monitor&quot; </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8c-source.html#l00013">13</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="d79291fa6d09c30b5ad1c10c8a5d647f"></a><!-- doxytag: member="monitor.c::MONITORNAME" ref="d79291fa6d09c30b5ad1c10c8a5d647f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MONITORNAME&nbsp;&nbsp;&nbsp;&quot;virtualitemlogreceiver&quot; </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8c-source.html#l00015">15</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="630eb7604f0fe1161c6165cec5200b3d"></a><!-- doxytag: member="monitor.c::MONITORTYPE" ref="630eb7604f0fe1161c6165cec5200b3d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MONITORTYPE&nbsp;&nbsp;&nbsp;&quot;test&quot; </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8c-source.html#l00014">14</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="afab1757e8c3bc9c5143490b256cb684"></a><!-- doxytag: member="monitor.c::monitor" ref="afab1757e8c3bc9c5143490b256cb684" args="(unsigned int sev, const char *pattern, const char *message)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int monitor </td>
<td>(</td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>sev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>message</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8c-source.html#l00026">26</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="13e7bf0022db0d9f5dd6aeb82ec69999"></a><!-- doxytag: member="monitor.c::syslogMonitor" ref="13e7bf0022db0d9f5dd6aeb82ec69999" args="(unsigned int logLvl, unsigned int sev, const char *pattern, const char *message,...)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int syslogMonitor </td>
<td>(</td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>logLvl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>sev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&nbsp;</td>
<td class="paramname"> <em>...</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8c-source.html#l00066">66</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="8142dc3c72610140dfcacc52de5881fd"></a><!-- doxytag: member="monitor.c::severity" ref="8142dc3c72610140dfcacc52de5881fd" args="[][10]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char <a class="el" href="monitor_8c.html#8142dc3c72610140dfcacc52de5881fd">severity</a>[][10] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
<span class="stringliteral">"info"</span>,
<span class="stringliteral">"warning"</span>,
<span class="stringliteral">"critical"</span>,
<span class="stringliteral">"failure"</span>
}
</pre></div>
<p>Definition at line <a class="el" href="monitor_8c-source.html#l00017">17</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

41
.doc/html/monitor_8h-source.html

@ -1,41 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/monitor.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>include/monitor.h</h1><a href="monitor_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __MONITOR_H__</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __MONITOR_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;syslog.h&gt;</span> <span class="comment">/* for logging */</span>
<a name="l00005"></a>00005
<a name="l00006"></a><a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">00006</a> <span class="preprocessor">#define MON_INFO 0</span>
<a name="l00007"></a><a class="code" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">00007</a> <span class="preprocessor"></span><span class="preprocessor">#define MON_WARNING 1</span>
<a name="l00008"></a><a class="code" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">00008</a> <span class="preprocessor"></span><span class="preprocessor">#define MON_CRITICAL 2</span>
<a name="l00009"></a><a class="code" href="monitor_8h.html#c41f84ee1d999369a9496a2c49c4181c">00009</a> <span class="preprocessor"></span><span class="preprocessor">#define MON_FAILURE 3</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span>
<a name="l00011"></a>00011 <span class="keywordtype">int</span> <a class="code" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sev, <span class="keyword">const</span> <span class="keywordtype">char</span> * pattern, <span class="keyword">const</span> <span class="keywordtype">char</span> * message);
<a name="l00012"></a>00012 <span class="keywordtype">int</span> <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> logLvl, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sev, <span class="keyword">const</span> <span class="keywordtype">char</span> *pattern, <span class="keyword">const</span> <span class="keywordtype">char</span> * message, ...) __attribute__ ((format (printf, 4, 5)));
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#endif </span><span class="comment">/* __MONITOR_H__ */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

203
.doc/html/monitor_8h.html

@ -1,203 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/monitor.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/monitor.h File Reference</h1><code>#include &lt;syslog.h&gt;</code><br>
<p>
<a href="monitor_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#8eabf82310c059cc80dceaa533a74182">MON_WARNING</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#b11b9abcce9ac28426ff81c206e28fc8">MON_CRITICAL</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#c41f84ee1d999369a9496a2c49c4181c">MON_FAILURE</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#afab1757e8c3bc9c5143490b256cb684">monitor</a> (unsigned int sev, const char *pattern, const char *message)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a> (unsigned int logLvl, unsigned int sev, const char *pattern, const char *message,...) __attribute__((format(printf</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="b11b9abcce9ac28426ff81c206e28fc8"></a><!-- doxytag: member="monitor.h::MON_CRITICAL" ref="b11b9abcce9ac28426ff81c206e28fc8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MON_CRITICAL&nbsp;&nbsp;&nbsp;2 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8h-source.html#l00008">8</a> of file <a class="el" href="monitor_8h-source.html">monitor.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="c41f84ee1d999369a9496a2c49c4181c"></a><!-- doxytag: member="monitor.h::MON_FAILURE" ref="c41f84ee1d999369a9496a2c49c4181c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MON_FAILURE&nbsp;&nbsp;&nbsp;3 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8h-source.html#l00009">9</a> of file <a class="el" href="monitor_8h-source.html">monitor.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="d702c7f3311c0b76ee05d7efd27c87b2"></a><!-- doxytag: member="monitor.h::MON_INFO" ref="d702c7f3311c0b76ee05d7efd27c87b2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MON_INFO&nbsp;&nbsp;&nbsp;0 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8h-source.html#l00006">6</a> of file <a class="el" href="monitor_8h-source.html">monitor.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="8eabf82310c059cc80dceaa533a74182"></a><!-- doxytag: member="monitor.h::MON_WARNING" ref="8eabf82310c059cc80dceaa533a74182" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MON_WARNING&nbsp;&nbsp;&nbsp;1 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8h-source.html#l00007">7</a> of file <a class="el" href="monitor_8h-source.html">monitor.h</a>.</p>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="afab1757e8c3bc9c5143490b256cb684"></a><!-- doxytag: member="monitor.h::monitor" ref="afab1757e8c3bc9c5143490b256cb684" args="(unsigned int sev, const char *pattern, const char *message)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int monitor </td>
<td>(</td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>sev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>message</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="monitor_8c-source.html#l00026">26</a> of file <a class="el" href="monitor_8c-source.html">monitor.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="5d332cf84a9d6dd9c77382a74960cccf"></a><!-- doxytag: member="monitor.h::syslogMonitor" ref="5d332cf84a9d6dd9c77382a74960cccf" args="(unsigned int logLvl, unsigned int sev, const char *pattern, const char *message,...) __attribute__((format(printf" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int syslogMonitor </td>
<td>(</td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>logLvl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>sev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&nbsp;</td>
<td class="paramname"> <em>...</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

67
.doc/html/serverInit_8c-source.html

@ -1,67 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: server/serverInit.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>server/serverInit.c</h1><a href="serverInit_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for getopt */</span>
<a name="l00004"></a>00004
<a name="l00005"></a>00005 <span class="preprocessor">#include "../include/server.h"</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include "../include/socket.h"</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include "../include/monitor.h"</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include "../include/logRotate.h"</span>
<a name="l00009"></a>00009
<a name="l00010"></a>00010 <span class="keywordtype">void</span>
<a name="l00011"></a><a class="code" href="serverInit_8c.html#68050069ed3a2e05cb02440090c89a1f">00011</a> <a class="code" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">serverInit</a>(
<a name="l00012"></a>00012 <a class="code" href="structtServer.html">tServer</a> * server,
<a name="l00013"></a>00013 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> port,
<a name="l00014"></a>00014 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pending,
<a name="l00015"></a>00015 <span class="keyword">const</span> <span class="keywordtype">char</span> * logPath,
<a name="l00016"></a>00016 <span class="keyword">const</span> <span class="keywordtype">char</span> * namePat)
<a name="l00017"></a>00017 {
<a name="l00018"></a>00018 FD_ZERO(&amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
<a name="l00019"></a>00019
<a name="l00020"></a>00020 server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a> = <a class="code" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a>(port, pending);
<a name="l00021"></a>00021 server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a> = server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>;
<a name="l00022"></a>00022 FD_SET(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
<a name="l00023"></a>00023
<a name="l00024"></a>00024 strncpy(server-&gt;<a class="code" href="structtServer.html#17180f100090e101569a3a95934c38aa">logPath</a>, logPath, <span class="keyword">sizeof</span>(server-&gt;<a class="code" href="structtServer.html#17180f100090e101569a3a95934c38aa">logPath</a>)-1);
<a name="l00025"></a>00025 strncpy(server-&gt;<a class="code" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">namePat</a>, namePat, <span class="keyword">sizeof</span>(server-&gt;<a class="code" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">namePat</a>)-1);
<a name="l00026"></a>00026
<a name="l00027"></a>00027 memset(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>, 0, <span class="keyword">sizeof</span>(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>));
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="comment">/*</span>
<a name="l00030"></a>00030 <span class="comment"> * try to open file (firstrun)</span>
<a name="l00031"></a>00031 <span class="comment"> */</span>
<a name="l00032"></a>00032 <span class="keywordflow">if</span> (NULL == server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>) {
<a name="l00033"></a>00033 <a class="code" href="logRotate_8h.html#82df920a9975d5484d681c6f9009da38">logRotate</a>(&amp;(server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>), server-&gt;<a class="code" href="structtServer.html#17180f100090e101569a3a95934c38aa">logPath</a>, server-&gt;<a class="code" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">namePat</a>);
<a name="l00034"></a>00034 <span class="keywordflow">if</span> (NULL == server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>) {
<a name="l00035"></a>00035 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"logfile.rotate"</span>,
<a name="l00036"></a>00036 <span class="stringliteral">"no valid handle for logfile - service terminated"</span>);
<a name="l00037"></a>00037 exit(EXIT_FAILURE);
<a name="l00038"></a>00038 }
<a name="l00039"></a>00039 }
<a name="l00040"></a>00040 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

94
.doc/html/serverInit_8c.html

@ -1,94 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: server/serverInit.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>server/serverInit.c File Reference</h1><code>#include &lt;sys/select.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &quot;<a class="el" href="server_8h-source.html">../include/server.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="socket_8h-source.html">../include/socket.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="logRotate_8h-source.html">../include/logRotate.h</a>&quot;</code><br>
<p>
<a href="serverInit_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverInit_8c.html#68050069ed3a2e05cb02440090c89a1f">serverInit</a> (<a class="el" href="structtServer.html">tServer</a> *server, unsigned int port, unsigned int pending, const char *logPath, const char *namePat)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="68050069ed3a2e05cb02440090c89a1f"></a><!-- doxytag: member="serverInit.c::serverInit" ref="68050069ed3a2e05cb02440090c89a1f" args="(tServer *server, unsigned int port, unsigned int pending, const char *logPath, const char *namePat)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void serverInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
<td class="paramname"> <em>server</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>pending</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>logPath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>namePat</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverInit_8c-source.html#l00011">11</a> of file <a class="el" href="serverInit_8c-source.html">serverInit.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

265
.doc/html/serverRun_8c-source.html

@ -1,265 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: server/serverRun.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>server/serverRun.c</h1><a href="serverRun_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for exit */</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;errno.h&gt;</span> <span class="comment">/* for errno */</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for write */</span>
<a name="l00006"></a>00006
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;expat.h&gt;</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="preprocessor">#include "../include/appConfig.h"</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include "../include/server.h"</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include "../include/client.h"</span>
<a name="l00012"></a>00012 <span class="preprocessor">#include "../include/socket.h"</span>
<a name="l00013"></a>00013 <span class="preprocessor">#include "../include/monitor.h"</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include "../include/logRotate.h"</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "../include/signalHandling.h"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "../include/httpRequest.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">00018</a> <span class="preprocessor">#define RESPONSE " 200 OK\r\nServer: xmlrpc\r\nStatus: 200\r\nContent-Length: 10\r\nContent-Type: text/plain\r\n\r\n0123456789"</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a><a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">00020</a> <span class="keywordtype">int</span> <a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a>;
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="keywordtype">void</span> XMLCALL
<a name="l00023"></a><a class="code" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">00023</a> <a class="code" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">start</a>(<span class="keywordtype">void</span> *data, <span class="keyword">const</span> <span class="keywordtype">char</span> *el, <span class="keyword">const</span> <span class="keywordtype">char</span> **attr) {
<a name="l00024"></a>00024 <span class="keywordtype">int</span> i;
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a>; i++)
<a name="l00027"></a>00027 printf(<span class="stringliteral">" "</span>);
<a name="l00028"></a>00028
<a name="l00029"></a>00029 printf(<span class="stringliteral">"%s"</span>, el);
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="keywordflow">for</span> (i = 0; attr[i]; i += 2) {
<a name="l00032"></a>00032 printf(<span class="stringliteral">" %s='%s'"</span>, attr[i], attr[i + 1]);
<a name="l00033"></a>00033 }
<a name="l00034"></a>00034
<a name="l00035"></a>00035 printf(<span class="stringliteral">"\n"</span>);
<a name="l00036"></a>00036 Depth++;
<a name="l00037"></a>00037 } <span class="comment">/* End of start handler */</span>
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="keywordtype">void</span> XMLCALL
<a name="l00040"></a><a class="code" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">00040</a> <a class="code" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">end</a>(<span class="keywordtype">void</span> *data, <span class="keyword">const</span> <span class="keywordtype">char</span> *el) {
<a name="l00041"></a>00041 <span class="keywordtype">int</span> i;
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a>--;
<a name="l00044"></a>00044 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a>; i++)
<a name="l00045"></a>00045 printf(<span class="stringliteral">" "</span>);
<a name="l00046"></a>00046 printf(<span class="stringliteral">"--\n"</span>);
<a name="l00047"></a>00047 } <span class="comment">/* End of end handler */</span>
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keywordtype">void</span>
<a name="l00050"></a><a class="code" href="serverRun_8c.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">00050</a> <a class="code" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun</a>(<a class="code" href="structtServer.html">tServer</a> * server)
<a name="l00051"></a>00051 {
<a name="l00052"></a>00052 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_INFO, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"startup"</span>, <span class="stringliteral">"service started"</span>);
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keywordflow">while</span> (!<a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a>) <span class="comment">/* until error or signal */</span>
<a name="l00055"></a>00055 {
<a name="l00056"></a>00056 fd_set rfds;
<a name="l00057"></a>00057 fd_set wfds;
<a name="l00058"></a>00058 <span class="keywordtype">int</span> i;
<a name="l00059"></a>00059
<a name="l00060"></a>00060 memcpy(&amp;rfds, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>), <span class="keyword">sizeof</span>(fd_set));
<a name="l00061"></a>00061
<a name="l00062"></a>00062 FD_ZERO(&amp;wfds);
<a name="l00063"></a>00063 <span class="keywordflow">for</span> (i=3; i&lt;=server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>; i++) {
<a name="l00064"></a>00064 <a class="code" href="structtClient.html">tClient</a> * actClient = &amp;(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[i];
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keywordflow">if</span> (FD_ISSET(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>))
<a name="l00067"></a>00067 &amp;&amp; NULL != actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>
<a name="l00068"></a>00068 &amp;&amp; 0 != strlen(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>)) {
<a name="l00069"></a>00069 FD_SET(i, &amp;wfds);
<a name="l00070"></a>00070 }
<a name="l00071"></a>00071 }
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="comment">/*</span>
<a name="l00074"></a>00074 <span class="comment"> * wait for handles to become ready</span>
<a name="l00075"></a>00075 <span class="comment"> */</span>
<a name="l00076"></a>00076 <span class="keywordflow">if</span> (-1 == select((server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>)+1, &amp;rfds, &amp;wfds, NULL, NULL))
<a name="l00077"></a>00077 {
<a name="l00078"></a>00078 <span class="keywordflow">switch</span> (errno) {
<a name="l00079"></a>00079 <span class="keywordflow">default</span>:
<a name="l00080"></a>00080 <span class="keywordflow">case</span> EBADF:
<a name="l00081"></a>00081 <span class="keywordflow">case</span> EINVAL:
<a name="l00082"></a>00082 <span class="keywordflow">case</span> ENOMEM:
<a name="l00083"></a>00083 <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a> = 1;
<a name="l00084"></a>00084 <span class="comment">/* Fallthrough */</span>
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="keywordflow">case</span> EINTR:
<a name="l00087"></a>00087 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"select"</span>,
<a name="l00088"></a>00088 <span class="stringliteral">"select systemcall failed: [%s] - service terminated"</span>,
<a name="l00089"></a>00089 strerror(errno));
<a name="l00090"></a>00090 <span class="keywordflow">continue</span>; <span class="comment">/* in while loop above */</span>
<a name="l00091"></a>00091 }
<a name="l00092"></a>00092 }
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="comment">/*</span>
<a name="l00095"></a>00095 <span class="comment"> * handle accept</span>
<a name="l00096"></a>00096 <span class="comment"> */</span>
<a name="l00097"></a>00097 <span class="keywordflow">if</span> (FD_ISSET(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, &amp;rfds)) {
<a name="l00098"></a>00098 <span class="keywordtype">int</span> fd;
<a name="l00099"></a>00099 <span class="keywordtype">char</span> remoteAddr[16] = <span class="stringliteral">""</span>;
<a name="l00100"></a>00100
<a name="l00101"></a>00101 <span class="keywordflow">if</span> (-1 != (fd = <a class="code" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a>(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, remoteAddr))) {
<a name="l00102"></a>00102 (server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].socket = fd; <span class="comment">// save the socket handle within the client struct</span>
<a name="l00103"></a>00103 strncpy(
<a name="l00104"></a>00104 (server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].remoteAddr,
<a name="l00105"></a>00105 remoteAddr,
<a name="l00106"></a>00106 <span class="keyword">sizeof</span>((server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].remoteAddr)-1);
<a name="l00107"></a>00107 FD_SET(fd, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
<a name="l00108"></a>00108 server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a> = <a class="code" href="appConfig_8h.html#acc3ee1a7f283f8ef65cea31f4436a95">MAX</a>(fd, server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>);
<a name="l00109"></a>00109
<a name="l00110"></a>00110 (server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].parser = XML_ParserCreate(<span class="stringliteral">"UTF-8"</span>);
<a name="l00111"></a>00111 XML_SetElementHandler((server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[fd].parser, &amp;<a class="code" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">start</a>, &amp;<a class="code" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">end</a>);
<a name="l00112"></a>00112
<a name="l00113"></a>00113 }
<a name="l00114"></a>00114
<a name="l00115"></a>00115 FD_CLR(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, &amp;rfds);
<a name="l00116"></a>00116 }
<a name="l00117"></a>00117
<a name="l00118"></a>00118 <span class="comment">/* handle reads (max 10 before next select, else we block accept for to long) */</span>
<a name="l00119"></a>00119 <span class="keywordflow">for</span> (i=3; i&lt;=server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>; i++) {
<a name="l00120"></a>00120 <span class="comment">// for (i=3, count=0; i&lt;=server-&gt;maxFd &amp;&amp; count&lt;10; i++, count++) {</span>
<a name="l00121"></a>00121 <a class="code" href="structtClient.html">tClient</a> * actClient = &amp;(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[i];
<a name="l00122"></a>00122
<a name="l00123"></a>00123 <span class="keywordflow">if</span> (FD_ISSET(i, &amp;rfds)) {
<a name="l00124"></a>00124 <span class="keywordflow">switch</span> (<a class="code" href="client_8h.html#6504ff36553f8008b9ee1d52aa977740">clientRead</a>(actClient)) {
<a name="l00125"></a>00125 <span class="keywordflow">case</span> -1:
<a name="l00126"></a>00126 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_WARNING, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"socket.read"</span>,
<a name="l00127"></a>00127 <span class="stringliteral">"read on socket for %s returns -1: %s"</span>,
<a name="l00128"></a>00128 actClient-&gt;<a class="code" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a>, strerror(errno));
<a name="l00129"></a>00129 <span class="comment">/* FALLTHROUGH */</span>
<a name="l00130"></a>00130
<a name="l00131"></a>00131 <span class="keywordflow">case</span> 0:
<a name="l00132"></a>00132 <a class="code" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a>(actClient);
<a name="l00133"></a>00133 FD_CLR(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
<a name="l00134"></a>00134 <span class="keywordflow">break</span>;
<a name="l00135"></a>00135
<a name="l00136"></a>00136 <span class="keywordflow">default</span>:
<a name="l00137"></a>00137 <span class="keywordflow">if</span> (! <a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>))) {
<a name="l00138"></a>00138 <span class="keywordtype">char</span> delim[] = <span class="stringliteral">"\r\n"</span>;
<a name="l00139"></a>00139 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len = strlen(delim);
<a name="l00140"></a>00140 <span class="keywordtype">char</span> * line = <a class="code" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a>(actClient, delim, &amp;len);
<a name="l00141"></a>00141
<a name="l00142"></a>00142 <span class="comment">/* </span>
<a name="l00143"></a>00143 <span class="comment"> * len might be 0, thus indicatin an empty line</span>
<a name="l00144"></a>00144 <span class="comment"> * this might happen in two cases</span>
<a name="l00145"></a>00145 <span class="comment"> * 1. when a header is not already started</span>
<a name="l00146"></a>00146 <span class="comment"> * (could be identifies by a null req.method</span>
<a name="l00147"></a>00147 <span class="comment"> * 2. if a header is started, then it indicates</span>
<a name="l00148"></a>00148 <span class="comment"> * the end of the header.</span>
<a name="l00149"></a>00149 <span class="comment"> */</span>
<a name="l00150"></a>00150
<a name="l00151"></a>00151 <span class="keywordflow">while</span> (! <a class="code" href="httpRequest_8h.html#99eb3b2c1e06ee773fd3bb7da7e98ece">httpHeaderIsStarted</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>))) {
<a name="l00152"></a>00152
<a name="l00153"></a>00153 <span class="keywordflow">if</span> (0 != len) {
<a name="l00154"></a>00154 <a class="code" href="httpRequest_8h.html#b7ea84417c64cc894ef20f3fad58832f">httpHeaderParseRequestLine</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>), line, len);
<a name="l00155"></a>00155 <span class="comment">// TODO: do some error handling here</span>
<a name="l00156"></a>00156 }
<a name="l00157"></a>00157
<a name="l00158"></a>00158 len = strlen(delim);
<a name="l00159"></a>00159 <a class="code" href="client_8h.html#a920588f9122184bad211ae912d1dbc4">clientRemoveLine</a>(actClient, delim, &amp;len); <span class="comment">// TODO: do some error handling here</span>
<a name="l00160"></a>00160 len = strlen(delim);
<a name="l00161"></a>00161 line = <a class="code" href="client_8h.html#9741eb2a0853766868828c722e67c068">clientGetLine</a>(actClient, delim, &amp;len);
<a name="l00162"></a>00162
<a name="l00163"></a>00163 }
<a name="l00164"></a>00164
<a name="l00165"></a>00165 <span class="keywordflow">while</span> (NULL != line) {
<a name="l00166"></a>00166 <span class="keywordflow">if</span> (NULL == actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a>) {
<a name="l00167"></a>00167 }
<a name="l00168"></a>00168 }
<a name="l00169"></a>00169 }
<a name="l00170"></a>00170
<a name="l00171"></a>00171 <span class="keywordflow">if</span> (!<a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>))) {
<a name="l00172"></a>00172 actClient-&gt;<a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a> = <a class="code" href="httpRequest_8h.html#07afde622816238d4424591269f5616a">httpHeaderGet</a>(
<a name="l00173"></a>00173 &amp;(actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>),
<a name="l00174"></a>00174 &amp;(actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>),
<a name="l00175"></a>00175 &amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>));
<a name="l00176"></a>00176 }
<a name="l00177"></a>00177
<a name="l00178"></a>00178 <span class="keywordflow">if</span> (<a class="code" href="httpRequest_8h.html#91e1c62216e1370b68a87ffc8b120f0d">httpHeaderIsComplete</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>))) {
<a name="l00179"></a>00179 <span class="keywordtype">size_t</span> size = <a class="code" href="appConfig_8h.html#74e75242132eaabbc1c512488a135926">MIN</a>(actClient-&gt;<a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a>, actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>);
<a name="l00180"></a>00180 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> isLast = !(size - actClient-&gt;<a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a>);
<a name="l00181"></a>00181
<a name="l00182"></a>00182 <span class="keyword">enum</span> XML_Status expatStat;
<a name="l00183"></a>00183
<a name="l00184"></a>00184 expatStat = XML_Parse(actClient-&gt;<a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a>, actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, size, isLast);
<a name="l00185"></a>00185
<a name="l00186"></a>00186 actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a> -= size;
<a name="l00187"></a>00187 actClient-&gt;<a class="code" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a> -= size;
<a name="l00188"></a>00188 memmove(actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a>, actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> + size, actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>);
<a name="l00189"></a>00189 memset(actClient-&gt;<a class="code" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a> + actClient-&gt;<a class="code" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a>, 0, size);
<a name="l00190"></a>00190
<a name="l00191"></a>00191 <span class="keywordflow">if</span> (isLast &amp;&amp; NULL == actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>) {
<a name="l00192"></a>00192
<a name="l00193"></a>00193 actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> = calloc(
<a name="l00194"></a>00194 strlen(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>) +
<a name="l00195"></a>00195 strlen(<a class="code" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">RESPONSE</a>) + 3,
<a name="l00196"></a>00196 <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));
<a name="l00197"></a>00197 sprintf(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>, <span class="stringliteral">"%s%s"</span>,
<a name="l00198"></a>00198 actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>.<a class="code" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a>.<a class="code" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a>,
<a name="l00199"></a>00199 <a class="code" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">RESPONSE</a>);
<a name="l00200"></a>00200
<a name="l00201"></a>00201 <a class="code" href="httpRequest_8h.html#b55d3458cc9e50ef2a22731d910c6385">freeHttpHeader</a>(&amp;(actClient-&gt;<a class="code" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a>));
<a name="l00202"></a>00202 XML_ParserFree(actClient-&gt;<a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a>);
<a name="l00203"></a>00203 actClient-&gt;<a class="code" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a> = NULL;
<a name="l00204"></a>00204 }
<a name="l00205"></a>00205 }
<a name="l00206"></a>00206 <span class="keywordflow">break</span>;
<a name="l00207"></a>00207 }
<a name="l00208"></a>00208 }
<a name="l00209"></a>00209 }
<a name="l00210"></a>00210
<a name="l00211"></a>00211 <span class="comment">/* handle writes */</span>
<a name="l00212"></a>00212 <span class="keywordflow">for</span> (i=3; i&lt;=server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>; i++) {
<a name="l00213"></a>00213 <span class="comment">// for (i=3, count=0; i&lt;=server-&gt;maxFd &amp;&amp; count&lt;10; i++, count++) {</span>
<a name="l00214"></a>00214 <a class="code" href="structtClient.html">tClient</a> * actClient = &amp;(server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[i];
<a name="l00215"></a>00215
<a name="l00216"></a>00216 <span class="comment">// TODO: the &amp;&amp; is only symptom fix...need to find real bug.</span>
<a name="l00217"></a>00217 <span class="keywordflow">if</span> (FD_ISSET(i, &amp;wfds) &amp;&amp; NULL != actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>) {
<a name="l00218"></a>00218 <span class="keywordtype">int</span> writeSize = 0;
<a name="l00219"></a>00219 <span class="keywordtype">int</span> toWrite = strlen(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>);
<a name="l00220"></a>00220
<a name="l00221"></a>00221 writeSize = write(actClient-&gt;<a class="code" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a>, actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>, toWrite);
<a name="l00222"></a>00222
<a name="l00223"></a>00223 <span class="keywordflow">if</span> (0 &lt; writeSize) {
<a name="l00224"></a>00224 <span class="keywordflow">if</span> (writeSize == toWrite) {
<a name="l00225"></a>00225 free(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>);
<a name="l00226"></a>00226 actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> = NULL;
<a name="l00227"></a>00227
<a name="l00228"></a>00228 <a class="code" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a>(actClient);
<a name="l00229"></a>00229 FD_CLR(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
<a name="l00230"></a>00230 } <span class="keywordflow">else</span> {
<a name="l00231"></a>00231 memmove(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a>, actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> + writeSize, toWrite - writeSize);
<a name="l00232"></a>00232 memset(actClient-&gt;<a class="code" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a> + (toWrite - writeSize), 0, writeSize);
<a name="l00233"></a>00233 }
<a name="l00234"></a>00234 }
<a name="l00235"></a>00235 }
<a name="l00236"></a>00236 }
<a name="l00237"></a>00237 }
<a name="l00238"></a>00238 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

188
.doc/html/serverRun_8c.html

@ -1,188 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: server/serverRun.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>server/serverRun.c File Reference</h1><code>#include &lt;sys/select.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;errno.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;expat.h&gt;</code><br>
<code>#include &quot;<a class="el" href="appConfig_8h-source.html">../include/appConfig.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="server_8h-source.html">../include/server.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="client_8h-source.html">../include/client.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="socket_8h-source.html">../include/socket.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="logRotate_8h-source.html">../include/logRotate.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="signalHandling_8h-source.html">../include/signalHandling.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="httpRequest_8h-source.html">../include/httpRequest.h</a>&quot;</code><br>
<p>
<a href="serverRun_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#98a2366f9ef44f0d3eee7d33981bbe8a">RESPONSE</a>&nbsp;&nbsp;&nbsp;&quot; 200 OK\r\nServer: xmlrpc\r\nStatus: 200\r\nContent-Length: 10\r\nContent-Type: text/plain\r\n\r\n0123456789&quot;</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void XMLCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#73425567b97c64e9af77c626e0069f67">start</a> (void *data, const char *el, const char **attr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void XMLCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#1e60190f250d3f699f3671c759e6fe36">end</a> (void *data, const char *el)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun</a> (<a class="el" href="structtServer.html">tServer</a> *server)</td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a></td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="98a2366f9ef44f0d3eee7d33981bbe8a"></a><!-- doxytag: member="serverRun.c::RESPONSE" ref="98a2366f9ef44f0d3eee7d33981bbe8a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RESPONSE&nbsp;&nbsp;&nbsp;&quot; 200 OK\r\nServer: xmlrpc\r\nStatus: 200\r\nContent-Length: 10\r\nContent-Type: text/plain\r\n\r\n0123456789&quot; </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00018">18</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="1e60190f250d3f699f3671c759e6fe36"></a><!-- doxytag: member="serverRun.c::end" ref="1e60190f250d3f699f3671c759e6fe36" args="(void *data, const char *el)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLCALL end </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>el</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00040">40</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="208ea34b5a69f6ff0d48ed85c9a6f9eb"></a><!-- doxytag: member="serverRun.c::serverRun" ref="208ea34b5a69f6ff0d48ed85c9a6f9eb" args="(tServer *server)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void serverRun </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
<td class="paramname"> <em>server</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00050">50</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="73425567b97c64e9af77c626e0069f67"></a><!-- doxytag: member="serverRun.c::start" ref="73425567b97c64e9af77c626e0069f67" args="(void *data, const char *el, const char **attr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMLCALL start </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>el</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&nbsp;</td>
<td class="paramname"> <em>attr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00023">23</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="c66dbe0e082fd3cc29bc1572a4dccc09"></a><!-- doxytag: member="serverRun.c::Depth" ref="c66dbe0e082fd3cc29bc1572a4dccc09" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="serverRun_8c.html#c66dbe0e082fd3cc29bc1572a4dccc09">Depth</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00020">20</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

62
.doc/html/serverShutdown_8c-source.html

@ -1,62 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: server/serverShutdown.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>server/serverShutdown.c</h1><a href="serverShutdown_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for printf() and fprintf() */</span>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span> <span class="comment">/* for select system call and related */</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for exit */</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for getopt */</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;errno.h&gt;</span> <span class="comment">/* for errno */</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="preprocessor">#include "../include/server.h"</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include "../include/monitor.h"</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include "../include/writeBuffer.h"</span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="keywordtype">void</span>
<a name="l00015"></a><a class="code" href="serverShutdown_8c.html#50decfdd3550b2490a1b9448a313cbf9">00015</a> <a class="code" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown</a>(<a class="code" href="structtServer.html">tServer</a> * server)
<a name="l00016"></a>00016 {
<a name="l00017"></a>00017 <span class="keywordtype">int</span> i;
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keywordflow">for</span> (i=3; i&lt;=server-&gt;<a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a>; i++) {
<a name="l00020"></a>00020 <span class="keywordflow">if</span> (FD_ISSET(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>))) {
<a name="l00021"></a>00021 <span class="keywordflow">if</span> (i == server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>) {
<a name="l00022"></a>00022 shutdown(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>, SHUT_RDWR);
<a name="l00023"></a>00023 close(server-&gt;<a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a>);
<a name="l00024"></a>00024 } <span class="keywordflow">else</span> {
<a name="l00025"></a>00025 <span class="comment">/* actual do nothing except closing the client */</span>
<a name="l00026"></a>00026 <a class="code" href="client_8h.html#a9dad65338aa78062b23a924ae1d2b59">clientClose</a>(&amp;((server-&gt;<a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a>)[i]));
<a name="l00027"></a>00027 FD_CLR(i, &amp;(server-&gt;<a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a>));
<a name="l00028"></a>00028 }
<a name="l00029"></a>00029 }
<a name="l00030"></a>00030 }
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="keywordflow">if</span> (NULL != server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>) {
<a name="l00033"></a>00033 fclose(server-&gt;<a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a>);
<a name="l00034"></a>00034 }
<a name="l00035"></a>00035 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

70
.doc/html/serverShutdown_8c.html

@ -1,70 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: server/serverShutdown.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>server/serverShutdown.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;sys/select.h&gt;</code><br>
<code>#include &lt;sys/socket.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;errno.h&gt;</code><br>
<code>#include &quot;<a class="el" href="server_8h-source.html">../include/server.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="writeBuffer_8h-source.html">../include/writeBuffer.h</a>&quot;</code><br>
<p>
<a href="serverShutdown_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serverShutdown_8c.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown</a> (<a class="el" href="structtServer.html">tServer</a> *server)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="50decfdd3550b2490a1b9448a313cbf9"></a><!-- doxytag: member="serverShutdown.c::serverShutdown" ref="50decfdd3550b2490a1b9448a313cbf9" args="(tServer *server)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void serverShutdown </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
<td class="paramname"> <em>server</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverShutdown_8c-source.html#l00015">15</a> of file <a class="el" href="serverShutdown_8c-source.html">serverShutdown.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

56
.doc/html/server_8h-source.html

@ -1,56 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/server.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>include/server.h</h1><a href="server_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __SERVER_H__</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __SERVER_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for printf() and fprintf() */</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;sys/select.h&gt;</span> <span class="comment">/* for select system call and related */</span>
<a name="l00006"></a>00006
<a name="l00007"></a>00007 <span class="preprocessor">#include "<a class="code" href="client_8h.html">client.h</a>"</span>
<a name="l00008"></a>00008
<a name="l00009"></a><a class="code" href="structtServer.html">00009</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00010"></a><a class="code" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">00010</a> <span class="keywordtype">int</span> servSock;
<a name="l00011"></a><a class="code" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">00011</a> <a class="code" href="structtClient.html">tClient</a> clients[FD_SETSIZE];
<a name="l00012"></a><a class="code" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">00012</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxFd;
<a name="l00013"></a><a class="code" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">00013</a> fd_set socks;
<a name="l00014"></a><a class="code" href="structtServer.html#17180f100090e101569a3a95934c38aa">00014</a> <span class="keywordtype">char</span> logPath[512];
<a name="l00015"></a><a class="code" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">00015</a> <span class="keywordtype">char</span> namePat[512];
<a name="l00016"></a><a class="code" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">00016</a> FILE * wHandle;
<a name="l00017"></a>00017 } <a class="code" href="structtServer.html">tServer</a>;
<a name="l00018"></a>00018
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="keywordtype">void</span> <a class="code" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown</a>(<a class="code" href="structtServer.html">tServer</a> * server);
<a name="l00021"></a>00021 <span class="keywordtype">void</span> <a class="code" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">serverInit</a>(
<a name="l00022"></a>00022 <a class="code" href="structtServer.html">tServer</a> * server,
<a name="l00023"></a>00023 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> port,
<a name="l00024"></a>00024 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pending,
<a name="l00025"></a>00025 <span class="keyword">const</span> <span class="keywordtype">char</span> * logPath,
<a name="l00026"></a>00026 <span class="keyword">const</span> <span class="keywordtype">char</span> * namePat);
<a name="l00027"></a>00027 <span class="keywordtype">void</span> <a class="code" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun</a>(<a class="code" href="structtServer.html">tServer</a> * server);
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#endif // __SERVER_H__</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

141
.doc/html/server_8h.html

@ -1,141 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/server.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/server.h File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;sys/select.h&gt;</code><br>
<code>#include &quot;<a class="el" href="client_8h-source.html">client.h</a>&quot;</code><br>
<p>
<a href="server_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html">tServer</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="server_8h.html#50decfdd3550b2490a1b9448a313cbf9">serverShutdown</a> (<a class="el" href="structtServer.html">tServer</a> *server)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="server_8h.html#68050069ed3a2e05cb02440090c89a1f">serverInit</a> (<a class="el" href="structtServer.html">tServer</a> *server, unsigned int port, unsigned int pending, const char *logPath, const char *namePat)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="server_8h.html#208ea34b5a69f6ff0d48ed85c9a6f9eb">serverRun</a> (<a class="el" href="structtServer.html">tServer</a> *server)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="68050069ed3a2e05cb02440090c89a1f"></a><!-- doxytag: member="server.h::serverInit" ref="68050069ed3a2e05cb02440090c89a1f" args="(tServer *server, unsigned int port, unsigned int pending, const char *logPath, const char *namePat)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void serverInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
<td class="paramname"> <em>server</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&nbsp;</td>
<td class="paramname"> <em>pending</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>logPath</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>namePat</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverInit_8c-source.html#l00011">11</a> of file <a class="el" href="serverInit_8c-source.html">serverInit.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="208ea34b5a69f6ff0d48ed85c9a6f9eb"></a><!-- doxytag: member="server.h::serverRun" ref="208ea34b5a69f6ff0d48ed85c9a6f9eb" args="(tServer *server)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void serverRun </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
<td class="paramname"> <em>server</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverRun_8c-source.html#l00050">50</a> of file <a class="el" href="serverRun_8c-source.html">serverRun.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="50decfdd3550b2490a1b9448a313cbf9"></a><!-- doxytag: member="server.h::serverShutdown" ref="50decfdd3550b2490a1b9448a313cbf9" args="(tServer *server)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void serverShutdown </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structtServer.html">tServer</a> *&nbsp;</td>
<td class="paramname"> <em>server</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="serverShutdown_8c-source.html#l00015">15</a> of file <a class="el" href="serverShutdown_8c-source.html">serverShutdown.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

53
.doc/html/signalHandling_8c-source.html

@ -1,53 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/signalHandling.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>system/signalHandling.c</h1><a href="signalHandling_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;signal.h&gt;</span> <span class="comment">/* for signal() and signal names */</span>
<a name="l00002"></a>00002
<a name="l00003"></a>00003 <span class="preprocessor">#include "../include/monitor.h"</span>
<a name="l00004"></a>00004
<a name="l00005"></a><a class="code" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">00005</a> <span class="keyword">volatile</span> <span class="keywordtype">int</span> <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a>;
<a name="l00006"></a>00006
<a name="l00007"></a><a class="code" href="signalHandling_8c.html#64612b9588ed0fb05d70680db02b3630">00007</a> <span class="keywordtype">void</span> <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>(<span class="keywordtype">int</span> signum)
<a name="l00008"></a>00008 {
<a name="l00009"></a>00009 signal(signum, SIG_IGN);
<a name="l00010"></a>00010 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_INFO, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"signals"</span>,
<a name="l00011"></a>00011 <span class="stringliteral">"caugth deadly signal %d, service terminated"</span>, signum);
<a name="l00012"></a>00012 <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a> = 1;
<a name="l00013"></a>00013 }
<a name="l00014"></a>00014
<a name="l00015"></a><a class="code" href="signalHandling_8c.html#1de31bdef82f181f8045b94ae0933916">00015</a> <span class="keywordtype">void</span> <a class="code" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">init_signals</a>(<span class="keywordtype">void</span>)
<a name="l00016"></a>00016 {
<a name="l00017"></a>00017 signal(SIGTERM, <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>);
<a name="l00018"></a>00018 signal(SIGHUP, SIG_IGN);
<a name="l00019"></a>00019 signal(SIGINT, <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>);
<a name="l00020"></a>00020 signal(SIGQUIT, <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>);
<a name="l00021"></a>00021 signal(SIGABRT, <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>);
<a name="l00022"></a>00022 signal(SIGALRM, SIG_IGN);
<a name="l00023"></a>00023 signal(SIGURG, SIG_IGN);
<a name="l00024"></a>00024
<a name="l00025"></a>00025 signal(SIGPIPE, SIG_IGN);
<a name="l00026"></a>00026 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

107
.doc/html/signalHandling_8c.html

@ -1,107 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/signalHandling.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>system/signalHandling.c File Reference</h1><code>#include &lt;signal.h&gt;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
<p>
<a href="signalHandling_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8c.html#64612b9588ed0fb05d70680db02b3630">terminate</a> (int signum)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8c.html#1de31bdef82f181f8045b94ae0933916">init_signals</a> (void)</td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a></td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="1de31bdef82f181f8045b94ae0933916"></a><!-- doxytag: member="signalHandling.c::init_signals" ref="1de31bdef82f181f8045b94ae0933916" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void init_signals </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00015">15</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="64612b9588ed0fb05d70680db02b3630"></a><!-- doxytag: member="signalHandling.c::terminate" ref="64612b9588ed0fb05d70680db02b3630" args="(int signum)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void terminate </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>signum</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00007">7</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="960e985a396acaabb1bbed4f15668ade"></a><!-- doxytag: member="signalHandling.c::doShutdown" ref="960e985a396acaabb1bbed4f15668ade" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile int <a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00005">5</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

37
.doc/html/signalHandling_8h-source.html

@ -1,37 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/signalHandling.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>include/signalHandling.h</h1><a href="signalHandling_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __SIGNAL_HANDLING_H__</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __SIGNAL_HANDLING_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keywordtype">int</span> <a class="code" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a>;
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="keywordtype">void</span> <a class="code" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a>(<span class="keywordtype">int</span> signum);
<a name="l00007"></a>00007 <span class="keywordtype">void</span> <a class="code" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">init_signals</a>(<span class="keywordtype">void</span>);
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="preprocessor">#endif // __SIGNAL_HANDLING_H__</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

105
.doc/html/signalHandling_8h.html

@ -1,105 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/signalHandling.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/signalHandling.h File Reference</h1>
<p>
<a href="signalHandling_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8h.html#64612b9588ed0fb05d70680db02b3630">terminate</a> (int signum)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8h.html#1de31bdef82f181f8045b94ae0933916">init_signals</a> (void)</td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signalHandling_8h.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a></td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="1de31bdef82f181f8045b94ae0933916"></a><!-- doxytag: member="signalHandling.h::init_signals" ref="1de31bdef82f181f8045b94ae0933916" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void init_signals </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00015">15</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="64612b9588ed0fb05d70680db02b3630"></a><!-- doxytag: member="signalHandling.h::terminate" ref="64612b9588ed0fb05d70680db02b3630" args="(int signum)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void terminate </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>signum</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00007">7</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="960e985a396acaabb1bbed4f15668ade"></a><!-- doxytag: member="signalHandling.h::doShutdown" ref="960e985a396acaabb1bbed4f15668ade" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile int <a class="el" href="signalHandling_8c.html#960e985a396acaabb1bbed4f15668ade">doShutdown</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="signalHandling_8c-source.html#l00005">5</a> of file <a class="el" href="signalHandling_8c-source.html">signalHandling.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

102
.doc/html/socket_8c-source.html

@ -1,102 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/socket.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>system/socket.c</h1><a href="socket_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for printf() and fprintf() */</span>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span> <span class="comment">/* for socket(), bind(), and connect() */</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;arpa/inet.h&gt;</span> <span class="comment">/* for sockaddr_in and inet_ntoa() */</span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdlib.h&gt;</span> <span class="comment">/* for atoi() and exit() */</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset() */</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;unistd.h&gt;</span> <span class="comment">/* for close() */</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;errno.h&gt;</span> <span class="comment">/* for errno */</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;syslog.h&gt;</span>
<a name="l00009"></a>00009
<a name="l00010"></a>00010 <span class="preprocessor">#include "../include/monitor.h"</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>;
<a name="l00014"></a>00014
<a name="l00015"></a><a class="code" href="socket_8c.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">00015</a> <span class="keywordtype">int</span> <a class="code" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a>(in_port_t port, <span class="keywordtype">int</span> backlog) {
<a name="l00016"></a>00016 <span class="keywordtype">int</span> sock; <span class="comment">/* socket descriptor for server */</span>
<a name="l00017"></a>00017 <span class="keyword">struct </span>sockaddr_in addr; <span class="comment">/* Local address */</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="comment">/* Create socket for incoming connections */</span>
<a name="l00020"></a>00020 <span class="keywordflow">if</span> (-1 == (sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP))) {
<a name="l00021"></a>00021 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"server.socket"</span>,
<a name="l00022"></a>00022 <span class="stringliteral">"error opening socket: %s - service terminated"</span>,
<a name="l00023"></a>00023 strerror(errno));
<a name="l00024"></a>00024 exit(EXIT_FAILURE);
<a name="l00025"></a>00025 }
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="comment">/* Construct local address structure */</span>
<a name="l00028"></a>00028 memset(&amp;addr, 0, <span class="keyword">sizeof</span>(addr)); <span class="comment">/* Zero out structure */</span>
<a name="l00029"></a>00029
<a name="l00030"></a>00030 addr.sin_family = AF_INET; <span class="comment">/* Internet address family */</span>
<a name="l00031"></a>00031 addr.sin_addr.s_addr = htonl(INADDR_ANY); <span class="comment">/* Any incoming interface */</span>
<a name="l00032"></a>00032 addr.sin_port = htons(port); <span class="comment">/* Local port */</span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="comment">/* Bind to the local address */</span>
<a name="l00035"></a>00035 <span class="keywordflow">if</span> (-1 == bind(sock, (<span class="keyword">struct</span> sockaddr *) &amp;addr, <span class="keyword">sizeof</span>(addr))) {
<a name="l00036"></a>00036 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"server.bind"</span>,
<a name="l00037"></a>00037 <span class="stringliteral">"error binding socket: %s - service terminated"</span>,
<a name="l00038"></a>00038 strerror(errno));
<a name="l00039"></a>00039 exit(EXIT_FAILURE);
<a name="l00040"></a>00040 }
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="comment">/* Mark the socket so it will listen for incoming connections */</span>
<a name="l00043"></a>00043 <span class="keywordflow">if</span> (-1 == listen(sock, backlog)) {
<a name="l00044"></a>00044 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"server.listen"</span>,
<a name="l00045"></a>00045 <span class="stringliteral">"error binding socket: %s - service terminated"</span>,
<a name="l00046"></a>00046 strerror(errno));
<a name="l00047"></a>00047 exit(EXIT_FAILURE);
<a name="l00048"></a>00048 }
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keywordflow">return</span> sock;
<a name="l00051"></a>00051 }
<a name="l00052"></a>00052
<a name="l00053"></a><a class="code" href="socket_8c.html#f09ba488c48f40f8d1f133a4441deb25">00053</a> <span class="keywordtype">int</span> <a class="code" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a>(<span class="keywordtype">int</span> servSock, <span class="keywordtype">char</span> remoteAddr[16]) {
<a name="l00054"></a>00054 <span class="keywordtype">int</span> sock; <span class="comment">/* Socket descriptor for client */</span>
<a name="l00055"></a>00055 <span class="keyword">struct </span>sockaddr_in addr; <span class="comment">/* Client address */</span>
<a name="l00056"></a>00056 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len; <span class="comment">/* Length of client address data structure */</span>
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="comment">/* Set the size of the in-out parameter */</span>
<a name="l00059"></a>00059 len = <span class="keyword">sizeof</span>(addr);
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="comment">/* Wait for a client to connect */</span>
<a name="l00062"></a>00062 <span class="keywordflow">if</span> (-1 == (sock = accept(servSock, (<span class="keyword">struct</span> sockaddr *) &amp;addr, &amp;len))) {
<a name="l00063"></a>00063 <a class="code" href="monitor_8h.html#5d332cf84a9d6dd9c77382a74960cccf">syslogMonitor</a>(LOG_ERR, <a class="code" href="monitor_8h.html#d702c7f3311c0b76ee05d7efd27c87b2">MON_INFO</a>, <span class="stringliteral">"server.accept"</span>,
<a name="l00064"></a>00064 <span class="stringliteral">"error acception connection: %s"</span>, strerror(errno));
<a name="l00065"></a>00065 } <span class="keywordflow">else</span> {
<a name="l00066"></a>00066 strncpy (remoteAddr, inet_ntoa(addr.sin_addr), <span class="keyword">sizeof</span>(remoteAddr)-1);
<a name="l00067"></a>00067 }
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="comment">/* clntSock is connected to a client! */</span>
<a name="l00070"></a>00070 <span class="keywordflow">if</span> (0 != <a class="code" href="client_8h.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a>) {
<a name="l00071"></a>00071 syslog(LOG_INFO, <span class="stringliteral">"handling client %s\n"</span>, inet_ntoa(addr.sin_addr));
<a name="l00072"></a>00072 }
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keywordflow">return</span> sock;
<a name="l00075"></a>00075 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

130
.doc/html/socket_8c.html

@ -1,130 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: system/socket.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>system/socket.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;sys/socket.h&gt;</code><br>
<code>#include &lt;arpa/inet.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;errno.h&gt;</code><br>
<code>#include &lt;syslog.h&gt;</code><br>
<code>#include &quot;<a class="el" href="monitor_8h-source.html">../include/monitor.h</a>&quot;</code><br>
<p>
<a href="socket_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8c.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a> (in_port_t port, int backlog)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8c.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a> (int servSock, char remoteAddr[16])</td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a></td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="f09ba488c48f40f8d1f133a4441deb25"></a><!-- doxytag: member="socket.c::acceptConnection" ref="f09ba488c48f40f8d1f133a4441deb25" args="(int servSock, char remoteAddr[16])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int acceptConnection </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>servSock</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char&nbsp;</td>
<td class="paramname"> <em>remoteAddr</em>[16]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="socket_8c-source.html#l00053">53</a> of file <a class="el" href="socket_8c-source.html">socket.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="44dc8ffaedb1d6f7d4663f5cecaf4e70"></a><!-- doxytag: member="socket.c::initServerSocket" ref="44dc8ffaedb1d6f7d4663f5cecaf4e70" args="(in_port_t port, int backlog)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int initServerSocket </td>
<td>(</td>
<td class="paramtype">in_port_t&nbsp;</td>
<td class="paramname"> <em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>backlog</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="socket_8c-source.html#l00015">15</a> of file <a class="el" href="socket_8c-source.html">socket.c</a>.</p>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="0b2caeb4b6f130be43e5a2f0267dd453"></a><!-- doxytag: member="socket.c::verbose" ref="0b2caeb4b6f130be43e5a2f0267dd453" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="socket_8c.html#0b2caeb4b6f130be43e5a2f0267dd453">verbose</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

36
.doc/html/socket_8h-source.html

@ -1,36 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/socket.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>include/socket.h</h1><a href="socket_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __SOCKET_H__</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __SOCKET_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;arpa/inet.h&gt;</span> <span class="comment">/* for in_port_t */</span>
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="keywordtype">int</span> <a class="code" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a>(in_port_t port, <span class="keywordtype">int</span> backlog);
<a name="l00007"></a>00007 <span class="keywordtype">int</span> <a class="code" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a>(<span class="keywordtype">int</span> servSock, <span class="keywordtype">char</span> remoteAddr[16]);
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="preprocessor">#endif </span><span class="comment">/* __SOCKET_H__ */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

103
.doc/html/socket_8h.html

@ -1,103 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/socket.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/socket.h File Reference</h1><code>#include &lt;arpa/inet.h&gt;</code><br>
<p>
<a href="socket_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#44dc8ffaedb1d6f7d4663f5cecaf4e70">initServerSocket</a> (in_port_t port, int backlog)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#f09ba488c48f40f8d1f133a4441deb25">acceptConnection</a> (int servSock, char remoteAddr[16])</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="f09ba488c48f40f8d1f133a4441deb25"></a><!-- doxytag: member="socket.h::acceptConnection" ref="f09ba488c48f40f8d1f133a4441deb25" args="(int servSock, char remoteAddr[16])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int acceptConnection </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>servSock</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char&nbsp;</td>
<td class="paramname"> <em>remoteAddr</em>[16]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="socket_8c-source.html#l00053">53</a> of file <a class="el" href="socket_8c-source.html">socket.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="44dc8ffaedb1d6f7d4663f5cecaf4e70"></a><!-- doxytag: member="socket.h::initServerSocket" ref="44dc8ffaedb1d6f7d4663f5cecaf4e70" args="(in_port_t port, int backlog)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int initServerSocket </td>
<td>(</td>
<td class="paramtype">in_port_t&nbsp;</td>
<td class="paramname"> <em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>backlog</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="socket_8c-source.html#l00015">15</a> of file <a class="el" href="socket_8c-source.html">socket.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

155
.doc/html/structtAppConfig.html

@ -1,155 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: tAppConfig Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>tAppConfig Struct Reference</h1><!-- doxytag: class="tAppConfig" --><code>#include &lt;<a class="el" href="appConfig_8h-source.html">appConfig.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">verbose</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">doDaemon</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">maxPending</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">port</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">logPath</a> [513]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">namePat</a> [513]</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00017">17</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
<hr><h2>Field Documentation</h2>
<a class="anchor" name="d5d5f9bd2f4f0dd2cd259e50c4d149bf"></a><!-- doxytag: member="tAppConfig::doDaemon" ref="d5d5f9bd2f4f0dd2cd259e50c4d149bf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char <a class="el" href="structtAppConfig.html#d5d5f9bd2f4f0dd2cd259e50c4d149bf">tAppConfig::doDaemon</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00019">19</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="1b87fb5e17055c70a233387374d8342e"></a><!-- doxytag: member="tAppConfig::logPath" ref="1b87fb5e17055c70a233387374d8342e" args="[513]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structtAppConfig.html#1b87fb5e17055c70a233387374d8342e">tAppConfig::logPath</a>[513] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00022">22</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="1bef5de806f77de1c307062e9fa84e4f"></a><!-- doxytag: member="tAppConfig::maxPending" ref="1bef5de806f77de1c307062e9fa84e4f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtAppConfig.html#1bef5de806f77de1c307062e9fa84e4f">tAppConfig::maxPending</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00020">20</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="58b889074da91d9de3ef14aa34f97795"></a><!-- doxytag: member="tAppConfig::namePat" ref="58b889074da91d9de3ef14aa34f97795" args="[513]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structtAppConfig.html#58b889074da91d9de3ef14aa34f97795">tAppConfig::namePat</a>[513] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00023">23</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="3e4960a8eb8e1eac506bd651453faecc"></a><!-- doxytag: member="tAppConfig::port" ref="3e4960a8eb8e1eac506bd651453faecc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtAppConfig.html#3e4960a8eb8e1eac506bd651453faecc">tAppConfig::port</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00021">21</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="9a20fbb501c68675f88764f1dcb42684"></a><!-- doxytag: member="tAppConfig::verbose" ref="9a20fbb501c68675f88764f1dcb42684" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char <a class="el" href="structtAppConfig.html#9a20fbb501c68675f88764f1dcb42684">tAppConfig::verbose</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="appConfig_8h-source.html#l00018">18</a> of file <a class="el" href="appConfig_8h-source.html">appConfig.h</a>.</p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="appConfig_8h-source.html">appConfig.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

231
.doc/html/structtClient.html

@ -1,231 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: tClient Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>tClient Struct Reference</h1><!-- doxytag: class="tClient" --><code>#include &lt;<a class="el" href="client_8h-source.html">client.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">socket</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">readBuffer</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">writeBuffer</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#0948ef13430298f28cb48199119136c1">readPos</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">writePos</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">readBufMult</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">remoteAddr</a> [16]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtHttpHeader.html">tHttpHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">httpHeader</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">bodyLenRemaining</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">XML_Parser&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">parser</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="client_8h-source.html#l00018">18</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
<hr><h2>Field Documentation</h2>
<a class="anchor" name="00e4a47041701700d5d9e418773b01a1"></a><!-- doxytag: member="tClient::bodyLenRemaining" ref="00e4a47041701700d5d9e418773b01a1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtClient.html#00e4a47041701700d5d9e418773b01a1">tClient::bodyLenRemaining</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00028">28</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="33623f89815acd8a2822a1f04cafe844"></a><!-- doxytag: member="tClient::httpHeader" ref="33623f89815acd8a2822a1f04cafe844" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> <a class="el" href="structtClient.html#33623f89815acd8a2822a1f04cafe844">tClient::httpHeader</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00027">27</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="b8f8ab3f31d6cf8fd4b3b527ef9c0107"></a><!-- doxytag: member="tClient::parser" ref="b8f8ab3f31d6cf8fd4b3b527ef9c0107" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XML_Parser <a class="el" href="structtClient.html#b8f8ab3f31d6cf8fd4b3b527ef9c0107">tClient::parser</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00030">30</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="70a954f8e1e6df925d78b34b9f2f162a"></a><!-- doxytag: member="tClient::readBuffer" ref="70a954f8e1e6df925d78b34b9f2f162a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structtClient.html#70a954f8e1e6df925d78b34b9f2f162a">tClient::readBuffer</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00020">20</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="c55c66265d03aec3d760a0ed54b08a1f"></a><!-- doxytag: member="tClient::readBufMult" ref="c55c66265d03aec3d760a0ed54b08a1f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtClient.html#c55c66265d03aec3d760a0ed54b08a1f">tClient::readBufMult</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00024">24</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="0948ef13430298f28cb48199119136c1"></a><!-- doxytag: member="tClient::readPos" ref="0948ef13430298f28cb48199119136c1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtClient.html#0948ef13430298f28cb48199119136c1">tClient::readPos</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00022">22</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="e23a04145b9c0cc1262721432a43c947"></a><!-- doxytag: member="tClient::remoteAddr" ref="e23a04145b9c0cc1262721432a43c947" args="[16]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structtClient.html#e23a04145b9c0cc1262721432a43c947">tClient::remoteAddr</a>[16] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00025">25</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="fdcb6fae6d4162315adc430dc34e3df0"></a><!-- doxytag: member="tClient::socket" ref="fdcb6fae6d4162315adc430dc34e3df0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structtClient.html#fdcb6fae6d4162315adc430dc34e3df0">tClient::socket</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00019">19</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="99d73b0cba75199cb16952751fdcc52d"></a><!-- doxytag: member="tClient::writeBuffer" ref="99d73b0cba75199cb16952751fdcc52d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structtClient.html#99d73b0cba75199cb16952751fdcc52d">tClient::writeBuffer</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00021">21</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="97da33ce83548b5900f11e29d5cec8d1"></a><!-- doxytag: member="tClient::writePos" ref="97da33ce83548b5900f11e29d5cec8d1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtClient.html#97da33ce83548b5900f11e29d5cec8d1">tClient::writePos</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="client_8h-source.html#l00023">23</a> of file <a class="el" href="client_8h-source.html">client.h</a>.</p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="client_8h-source.html">client.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

117
.doc/html/structtHttpHeader.html

@ -1,117 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: tHttpHeader Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>tHttpHeader Struct Reference</h1><!-- doxytag: class="tHttpHeader" --><code>#include &lt;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtRequestLine.html">tRequestLine</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">req</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtHttpHeaderLine.html">tHttpHeaderLine</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">headers</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">headersCount</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">bodyLength</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00027">27</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
<hr><h2>Field Documentation</h2>
<a class="anchor" name="4c362cb9ed28c3c0ee28371cb28c2460"></a><!-- doxytag: member="tHttpHeader::bodyLength" ref="4c362cb9ed28c3c0ee28371cb28c2460" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned char <a class="el" href="structtHttpHeader.html#4c362cb9ed28c3c0ee28371cb28c2460">tHttpHeader::bodyLength</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00032">32</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="e44e0aa6e7494921acad1a07eaaecb3d"></a><!-- doxytag: member="tHttpHeader::headers" ref="e44e0aa6e7494921acad1a07eaaecb3d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtHttpHeaderLine.html">tHttpHeaderLine</a>* <a class="el" href="structtHttpHeader.html#e44e0aa6e7494921acad1a07eaaecb3d">tHttpHeader::headers</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00029">29</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="40e3a997c2da1c432caef805ff150e42"></a><!-- doxytag: member="tHttpHeader::headersCount" ref="40e3a997c2da1c432caef805ff150e42" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtHttpHeader.html#40e3a997c2da1c432caef805ff150e42">tHttpHeader::headersCount</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00030">30</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="d624a9ea5e703b2e8cd812415e28dfc7"></a><!-- doxytag: member="tHttpHeader::req" ref="d624a9ea5e703b2e8cd812415e28dfc7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtRequestLine.html">tRequestLine</a> <a class="el" href="structtHttpHeader.html#d624a9ea5e703b2e8cd812415e28dfc7">tHttpHeader::req</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00028">28</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

79
.doc/html/structtHttpHeaderLine.html

@ -1,79 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: tHttpHeaderLine Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>tHttpHeaderLine Struct Reference</h1><!-- doxytag: class="tHttpHeaderLine" --><code>#include &lt;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">key</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">value</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00022">22</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
<hr><h2>Field Documentation</h2>
<a class="anchor" name="0b7fdfe2d665663b34ab17f843bdd362"></a><!-- doxytag: member="tHttpHeaderLine::key" ref="0b7fdfe2d665663b34ab17f843bdd362" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structtHttpHeaderLine.html#0b7fdfe2d665663b34ab17f843bdd362">tHttpHeaderLine::key</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00023">23</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="20a63b6ab6476fd27b5ec5438150dba9"></a><!-- doxytag: member="tHttpHeaderLine::value" ref="20a63b6ab6476fd27b5ec5438150dba9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structtHttpHeaderLine.html#20a63b6ab6476fd27b5ec5438150dba9">tHttpHeaderLine::value</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00024">24</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

98
.doc/html/structtHttpRequest.html

@ -1,98 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: tHttpRequest Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>tHttpRequest Struct Reference</h1><!-- doxytag: class="tHttpRequest" --><code>#include &lt;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtHttpHeader.html">tHttpHeader</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">header</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">length</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">body</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00035">35</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
<hr><h2>Field Documentation</h2>
<a class="anchor" name="3bafedaca9066375ffc720da29235ae2"></a><!-- doxytag: member="tHttpRequest::body" ref="3bafedaca9066375ffc720da29235ae2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structtHttpRequest.html#3bafedaca9066375ffc720da29235ae2">tHttpRequest::body</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00038">38</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="9936369fb110812f1a4b7fc31a0dc755"></a><!-- doxytag: member="tHttpRequest::header" ref="9936369fb110812f1a4b7fc31a0dc755" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtHttpHeader.html">tHttpHeader</a> <a class="el" href="structtHttpRequest.html#9936369fb110812f1a4b7fc31a0dc755">tHttpRequest::header</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00036">36</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="208d984f6996b3b75579b9d7f9583231"></a><!-- doxytag: member="tHttpRequest::length" ref="208d984f6996b3b75579b9d7f9583231" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtHttpRequest.html#208d984f6996b3b75579b9d7f9583231">tHttpRequest::length</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00037">37</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

98
.doc/html/structtRequestLine.html

@ -1,98 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: tRequestLine Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>tRequestLine Struct Reference</h1><!-- doxytag: class="tRequestLine" --><code>#include &lt;<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">method</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">requestUri</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">httpVersion</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00016">16</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
<hr><h2>Field Documentation</h2>
<a class="anchor" name="9e9dad5c7e7851b4a5e5b8ab8837a72b"></a><!-- doxytag: member="tRequestLine::httpVersion" ref="9e9dad5c7e7851b4a5e5b8ab8837a72b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structtRequestLine.html#9e9dad5c7e7851b4a5e5b8ab8837a72b">tRequestLine::httpVersion</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00019">19</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="418658e78fa3e0e0e5fbd8f693104558"></a><!-- doxytag: member="tRequestLine::method" ref="418658e78fa3e0e0e5fbd8f693104558" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structtRequestLine.html#418658e78fa3e0e0e5fbd8f693104558">tRequestLine::method</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00017">17</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="5748787454dc1cc0dc06240e2890e025"></a><!-- doxytag: member="tRequestLine::requestUri" ref="5748787454dc1cc0dc06240e2890e025" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structtRequestLine.html#5748787454dc1cc0dc06240e2890e025">tRequestLine::requestUri</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="httpRequest_8h-source.html#l00018">18</a> of file <a class="el" href="httpRequest_8h-source.html">httpRequest.h</a>.</p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="httpRequest_8h-source.html">httpRequest.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

174
.doc/html/structtServer.html

@ -1,174 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: tServer Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>tServer Struct Reference</h1><!-- doxytag: class="tServer" --><code>#include &lt;<a class="el" href="server_8h-source.html">server.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">servSock</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtClient.html">tClient</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">clients</a> [FD_SETSIZE]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">maxFd</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">fd_set&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">socks</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#17180f100090e101569a3a95934c38aa">logPath</a> [512]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">namePat</a> [512]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">wHandle</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="server_8h-source.html#l00009">9</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
<hr><h2>Field Documentation</h2>
<a class="anchor" name="1c13c660dcf97444bdeee1f52bace303"></a><!-- doxytag: member="tServer::clients" ref="1c13c660dcf97444bdeee1f52bace303" args="[FD_SETSIZE]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtClient.html">tClient</a> <a class="el" href="structtServer.html#1c13c660dcf97444bdeee1f52bace303">tServer::clients</a>[FD_SETSIZE] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="server_8h-source.html#l00011">11</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="17180f100090e101569a3a95934c38aa"></a><!-- doxytag: member="tServer::logPath" ref="17180f100090e101569a3a95934c38aa" args="[512]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structtServer.html#17180f100090e101569a3a95934c38aa">tServer::logPath</a>[512] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="server_8h-source.html#l00014">14</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="145a672dfaec08ce54c02dbc9f3b11ae"></a><!-- doxytag: member="tServer::maxFd" ref="145a672dfaec08ce54c02dbc9f3b11ae" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structtServer.html#145a672dfaec08ce54c02dbc9f3b11ae">tServer::maxFd</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="server_8h-source.html#l00012">12</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="c932a28b0613bb0276c1ceb6b3fee454"></a><!-- doxytag: member="tServer::namePat" ref="c932a28b0613bb0276c1ceb6b3fee454" args="[512]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structtServer.html#c932a28b0613bb0276c1ceb6b3fee454">tServer::namePat</a>[512] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="server_8h-source.html#l00015">15</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="0f35110b14ced93ae0c47173e37d707d"></a><!-- doxytag: member="tServer::servSock" ref="0f35110b14ced93ae0c47173e37d707d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structtServer.html#0f35110b14ced93ae0c47173e37d707d">tServer::servSock</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="server_8h-source.html#l00010">10</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="f1e1c8e11bd347994ebc641bcac4c0fb"></a><!-- doxytag: member="tServer::socks" ref="f1e1c8e11bd347994ebc641bcac4c0fb" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">fd_set <a class="el" href="structtServer.html#f1e1c8e11bd347994ebc641bcac4c0fb">tServer::socks</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="server_8h-source.html#l00013">13</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="8fc3e5e54d17d86d21874d5987a080af"></a><!-- doxytag: member="tServer::wHandle" ref="8fc3e5e54d17d86d21874d5987a080af" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FILE* <a class="el" href="structtServer.html#8fc3e5e54d17d86d21874d5987a080af">tServer::wHandle</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="server_8h-source.html#l00016">16</a> of file <a class="el" href="server_8h-source.html">server.h</a>.</p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="server_8h-source.html">server.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:36 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

BIN
.doc/html/tab_b.gif

Before

Width: 1  |  Height: 1  |  Size: 35 B

BIN
.doc/html/tab_l.gif

Before

Width: 9  |  Height: 300  |  Size: 706 B

BIN
.doc/html/tab_r.gif

Before

Width: 400  |  Height: 300  |  Size: 2.5 KiB

105
.doc/html/tabs.css

@ -1,105 +0,0 @@
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
DIV.tabs
{
float : left;
width : 100%;
background : url("tab_b.gif") repeat-x bottom;
margin-bottom : 4px;
}
DIV.tabs UL
{
margin : 0px;
padding-left : 10px;
list-style : none;
}
DIV.tabs LI, DIV.tabs FORM
{
display : inline;
margin : 0px;
padding : 0px;
}
DIV.tabs FORM
{
float : right;
}
DIV.tabs A
{
float : left;
background : url("tab_r.gif") no-repeat right top;
border-bottom : 1px solid #84B0C7;
font-size : 80%;
font-weight : bold;
text-decoration : none;
}
DIV.tabs A:hover
{
background-position: 100% -150px;
}
DIV.tabs A:link, DIV.tabs A:visited,
DIV.tabs A:active, DIV.tabs A:hover
{
color: #1A419D;
}
DIV.tabs SPAN
{
float : left;
display : block;
background : url("tab_l.gif") no-repeat left top;
padding : 5px 9px;
white-space : nowrap;
}
DIV.tabs INPUT
{
float : right;
display : inline;
font-size : 1em;
}
DIV.tabs TD
{
font-size : 80%;
font-weight : bold;
text-decoration : none;
}
/* Commented Backslash Hack hides rule from IE5-Mac \*/
DIV.tabs SPAN {float : none;}
/* End IE5-Mac hack */
DIV.tabs A:hover SPAN
{
background-position: 0% -150px;
}
DIV.tabs LI.current A
{
background-position: 100% -150px;
border-width : 0px;
}
DIV.tabs LI.current SPAN
{
background-position: 0% -150px;
padding-bottom : 6px;
}
DIV.navpath
{
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
text-align : center;
margin : 2px;
padding : 2px;
}

106
.doc/html/tree.html

@ -1,106 +0,0 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="en" />
<link rel="stylesheet" href="doxygen.css">
<title>TreeView</title>
<script type="text/javascript">
<!-- // Hide script from old browsers
function toggleFolder(id, imageNode)
{
var folder = document.getElementById(id);
var l = imageNode.src.length;
if (imageNode.src.substring(l-20,l)=="ftv2folderclosed.png" ||
imageNode.src.substring(l-18,l)=="ftv2folderopen.png")
{
imageNode = imageNode.previousSibling;
l = imageNode.src.length;
}
if (folder == null)
{
}
else if (folder.style.display == "block")
{
if (imageNode != null)
{
imageNode.nextSibling.src = "ftv2folderclosed.png";
if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
{
imageNode.src = "ftv2pnode.png";
}
else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
{
imageNode.src = "ftv2plastnode.png";
}
}
folder.style.display = "none";
}
else
{
if (imageNode != null)
{
imageNode.nextSibling.src = "ftv2folderopen.png";
if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
{
imageNode.src = "ftv2mnode.png";
}
else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
{
imageNode.src = "ftv2mlastnode.png";
}
}
folder.style.display = "block";
}
}
// End script hiding -->
</script>
</head>
<body class="ftvtree">
<div class="directory">
<h3 class="swap"><span>xmlrpc</span></h3>
<div style="display: block;">
<p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder1', this)"/><a class="el" href="annotated.html" target="basefrm">Data Structures</a></p>
<div id="folder1">
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtAppConfig.html" target="basefrm">tAppConfig</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtClient.html" target="basefrm">tClient</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtHttpHeader.html" target="basefrm">tHttpHeader</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtHttpHeaderLine.html" target="basefrm">tHttpHeaderLine</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtHttpRequest.html" target="basefrm">tHttpRequest</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtRequestLine.html" target="basefrm">tRequestLine</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structtServer.html" target="basefrm">tServer</a></p>
</div>
<p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="functions.html" target="basefrm">Data Fields</a></p>
<p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder2', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
<div id="folder2">
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="appConfig_8h.html" target="basefrm">include/appConfig.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="client_8h.html" target="basefrm">include/client.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="daemonize_8h.html" target="basefrm">include/daemonize.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="httpRequest_8h.html" target="basefrm">include/httpRequest.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="logRotate_8h.html" target="basefrm">include/logRotate.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="monitor_8h.html" target="basefrm">include/monitor.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="server_8h.html" target="basefrm">include/server.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="signalHandling_8h.html" target="basefrm">include/signalHandling.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="socket_8h.html" target="basefrm">include/socket.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="writeBuffer_8h.html" target="basefrm">include/writeBuffer.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="clientClose_8c.html" target="basefrm">reader/commonReader/clientClose.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="clientRead_8c.html" target="basefrm">reader/commonReader/clientRead.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="writeBuffer_8c.html" target="basefrm">reader/commonReader/writeBuffer.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="httpRequest_8c.html" target="basefrm">reader/httpReader/httpRequest.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="serverInit_8c.html" target="basefrm">server/serverInit.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="serverRun_8c.html" target="basefrm">server/serverRun.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="serverShutdown_8c.html" target="basefrm">server/serverShutdown.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="daemonize_8c.html" target="basefrm">system/daemonize.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="handleCmdLine_8c.html" target="basefrm">system/handleCmdLine.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="logRotate_8c.html" target="basefrm">system/logRotate.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="monitor_8c.html" target="basefrm">system/monitor.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="signalHandling_8c.html" target="basefrm">system/signalHandling.c</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="socket_8c.html" target="basefrm">system/socket.c</a></p>
</div>
<p><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="globals.html" target="basefrm">Globals</a></p>
</div>
</div>

75
.doc/html/writeBuffer_8c-source.html

@ -1,75 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: reader/commonReader/writeBuffer.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>reader/commonReader/writeBuffer.c</h1><a href="writeBuffer_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for ferror() */</span>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;string.h&gt;</span> <span class="comment">/* for memset and stuff */</span>
<a name="l00003"></a>00003
<a name="l00004"></a>00004
<a name="l00005"></a>00005 <span class="keywordtype">int</span>
<a name="l00006"></a><a class="code" href="writeBuffer_8c.html#a947cab623514e5a9c9700bca074b77e">00006</a> <a class="code" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a>(<span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos, FILE * wHandle)
<a name="l00007"></a>00007 {
<a name="l00008"></a>00008 <span class="keywordtype">char</span> * nlpos = strchr(*buffer, <span class="charliteral">'\n'</span>);
<a name="l00009"></a>00009 <span class="keywordtype">int</span> written = 0;
<a name="l00010"></a>00010
<a name="l00011"></a>00011 <span class="keywordflow">while</span> (NULL != nlpos) {
<a name="l00012"></a>00012 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> moveSize, clearSize;
<a name="l00013"></a>00013 <span class="keywordtype">char</span> * actAddr;
<a name="l00014"></a>00014
<a name="l00015"></a>00015 *nlpos = <span class="charliteral">'\0'</span>;
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="keywordflow">if</span> (0 != strlen(*buffer)) {
<a name="l00018"></a>00018 <span class="comment">/* write remaining stuff to file */</span>
<a name="l00019"></a>00019 fputs(*buffer, wHandle);
<a name="l00020"></a>00020 <span class="keywordflow">if</span> (ferror(wHandle)) {
<a name="l00021"></a>00021 <span class="keywordflow">return</span> -1;
<a name="l00022"></a>00022 }
<a name="l00023"></a>00023
<a name="l00024"></a>00024 fputc(<span class="charliteral">'\n'</span>, wHandle);
<a name="l00025"></a>00025 <span class="keywordflow">if</span> (ferror(wHandle)) {
<a name="l00026"></a>00026 <span class="keywordflow">return</span> -1;
<a name="l00027"></a>00027 }
<a name="l00028"></a>00028
<a name="l00029"></a>00029 fflush(wHandle);
<a name="l00030"></a>00030 <span class="keywordflow">if</span> (ferror(wHandle)) {
<a name="l00031"></a>00031 <span class="keywordflow">return</span> -1;
<a name="l00032"></a>00032 }
<a name="l00033"></a>00033
<a name="l00034"></a>00034 written += strlen(*buffer) + 1;
<a name="l00035"></a>00035 }
<a name="l00036"></a>00036
<a name="l00037"></a>00037 actAddr = *buffer + *readPos;
<a name="l00038"></a>00038 moveSize = actAddr - nlpos - 1;
<a name="l00039"></a>00039 clearSize = actAddr - *buffer - moveSize;
<a name="l00040"></a>00040 memmove(*buffer, nlpos+1, moveSize);
<a name="l00041"></a>00041 memset(*buffer + moveSize, 0, clearSize);
<a name="l00042"></a>00042 *readPos = moveSize;
<a name="l00043"></a>00043
<a name="l00044"></a>00044 nlpos = strchr(*buffer, <span class="charliteral">'\n'</span>);
<a name="l00045"></a>00045 }
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keywordflow">return</span> written;
<a name="l00048"></a>00048 }
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

77
.doc/html/writeBuffer_8c.html

@ -1,77 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: reader/commonReader/writeBuffer.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>reader/commonReader/writeBuffer.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<p>
<a href="writeBuffer_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="writeBuffer_8c.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a> (char **buffer, unsigned int *readPos, FILE *wHandle)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a947cab623514e5a9c9700bca074b77e"></a><!-- doxytag: member="writeBuffer.c::writeBuffer" ref="a947cab623514e5a9c9700bca074b77e" args="(char **buffer, unsigned int *readPos, FILE *wHandle)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int writeBuffer </td>
<td>(</td>
<td class="paramtype">char **&nbsp;</td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>readPos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>wHandle</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="writeBuffer_8c-source.html#l00006">6</a> of file <a class="el" href="writeBuffer_8c-source.html">writeBuffer.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

35
.doc/html/writeBuffer_8h-source.html

@ -1,35 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/writeBuffer.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<h1>include/writeBuffer.h</h1><a href="writeBuffer_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __WRITE_BUFFER_H__</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __WRITE_BUFFER_H__</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;stdio.h&gt;</span> <span class="comment">/* for FILE */</span>
<a name="l00005"></a>00005
<a name="l00006"></a>00006 <span class="keywordtype">int</span> <a class="code" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a>(<span class="keywordtype">char</span> ** buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> * readPos, FILE * wHandle);
<a name="l00007"></a>00007
<a name="l00008"></a>00008 <span class="preprocessor">#endif // __WRITE_BUFFER_H__</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

76
.doc/html/writeBuffer_8h.html

@ -1,76 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>xmlrpc: include/writeBuffer.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>include/writeBuffer.h File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
<p>
<a href="writeBuffer_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="writeBuffer_8h.html#a947cab623514e5a9c9700bca074b77e">writeBuffer</a> (char **buffer, unsigned int *readPos, FILE *wHandle)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a947cab623514e5a9c9700bca074b77e"></a><!-- doxytag: member="writeBuffer.h::writeBuffer" ref="a947cab623514e5a9c9700bca074b77e" args="(char **buffer, unsigned int *readPos, FILE *wHandle)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int writeBuffer </td>
<td>(</td>
<td class="paramtype">char **&nbsp;</td>
<td class="paramname"> <em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>readPos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&nbsp;</td>
<td class="paramname"> <em>wHandle</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="writeBuffer_8c-source.html#l00006">6</a> of file <a class="el" href="writeBuffer_8c-source.html">writeBuffer.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

BIN
.doc/latex/FreeSans.ttf

19
.doc/latex/Makefile

@ -1,19 +0,0 @@
all: clean refman.pdf
pdf: refman.pdf
refman.pdf: refman.tex
pdflatex refman.tex
makeindex refman.idx
pdflatex refman.tex
latex_count=5 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
pdflatex refman.tex ;\
latex_count=`expr $$latex_count - 1` ;\
done
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf

10
.doc/latex/annotated.tex

@ -1,10 +0,0 @@
\section{Data Structures}
Here are the data structures with brief descriptions:\begin{CompactList}
\item\contentsline{section}{\hyperlink{structtAppConfig}{tAppConfig} }{\pageref{structtAppConfig}}{}
\item\contentsline{section}{\hyperlink{structtClient}{tClient} }{\pageref{structtClient}}{}
\item\contentsline{section}{\hyperlink{structtHttpHeader}{tHttpHeader} }{\pageref{structtHttpHeader}}{}
\item\contentsline{section}{\hyperlink{structtHttpHeaderLine}{tHttpHeaderLine} }{\pageref{structtHttpHeaderLine}}{}
\item\contentsline{section}{\hyperlink{structtHttpRequest}{tHttpRequest} }{\pageref{structtHttpRequest}}{}
\item\contentsline{section}{\hyperlink{structtRequestLine}{tRequestLine} }{\pageref{structtRequestLine}}{}
\item\contentsline{section}{\hyperlink{structtServer}{tServer} }{\pageref{structtServer}}{}
\end{CompactList}

121
.doc/latex/appConfig_8h.tex

@ -1,121 +0,0 @@
\hypertarget{appConfig_8h}{
\section{include/appConfig.h File Reference}
\label{appConfig_8h}\index{include/appConfig.h@{include/appConfig.h}}
}
\subsection*{Data Structures}
\begin{CompactItemize}
\item
struct \hyperlink{structtAppConfig}{tAppConfig}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item
\#define \hyperlink{appConfig_8h_f77ed3e65a7b1a9341603d152a1404df}{MAXPENDING}~10
\item
\#define \hyperlink{appConfig_8h_ce5c08f66edfc6ae44edaeef6b6101b6}{MAXCLIENTS}~1000
\item
\#define \hyperlink{appConfig_8h_a0534241791f23ec8098503582406166}{READBUFSIZE}~2048
\item
\#define \hyperlink{appConfig_8h_3db4dba8d56385b62759b89c98cae447}{DEFAULTPORT}~8801
\item
\#define \hyperlink{appConfig_8h_0672e2d34f3bbe2f6cdad6f307b9d1cf}{DEFAULTPATH}~\char`\"{}logfiles\char`\"{}
\item
\#define \hyperlink{appConfig_8h_9a98b2d0f973e357020c1274ec5b56c0}{LOGNAMEPATTERN}~\char`\"{}log-\%Y-\%m-\%d\_\-\%Hh\char`\"{}
\item
\#define \hyperlink{appConfig_8h_acc3ee1a7f283f8ef65cea31f4436a95}{MAX}(x, y)~((x) $>$ (y) ? (x) : (y))
\item
\#define \hyperlink{appConfig_8h_74e75242132eaabbc1c512488a135926}{MIN}(x, y)~((x) $<$ (y) ? (x) : (y))
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item
int \hyperlink{appConfig_8h_3755d793d10d6e5793ed5086a0b22964}{handleCmdLine} (\hyperlink{structtAppConfig}{tAppConfig} $\ast$config, int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
\end{CompactItemize}
\subsection{Define Documentation}
\hypertarget{appConfig_8h_0672e2d34f3bbe2f6cdad6f307b9d1cf}{
\index{appConfig.h@{appConfig.h}!DEFAULTPATH@{DEFAULTPATH}}
\index{DEFAULTPATH@{DEFAULTPATH}!appConfig.h@{appConfig.h}}
\subsubsection[{DEFAULTPATH}]{\setlength{\rightskip}{0pt plus 5cm}\#define DEFAULTPATH~\char`\"{}logfiles\char`\"{}}}
\label{appConfig_8h_0672e2d34f3bbe2f6cdad6f307b9d1cf}
Definition at line 8 of file appConfig.h.\hypertarget{appConfig_8h_3db4dba8d56385b62759b89c98cae447}{
\index{appConfig.h@{appConfig.h}!DEFAULTPORT@{DEFAULTPORT}}
\index{DEFAULTPORT@{DEFAULTPORT}!appConfig.h@{appConfig.h}}
\subsubsection[{DEFAULTPORT}]{\setlength{\rightskip}{0pt plus 5cm}\#define DEFAULTPORT~8801}}
\label{appConfig_8h_3db4dba8d56385b62759b89c98cae447}
Definition at line 7 of file appConfig.h.\hypertarget{appConfig_8h_9a98b2d0f973e357020c1274ec5b56c0}{
\index{appConfig.h@{appConfig.h}!LOGNAMEPATTERN@{LOGNAMEPATTERN}}
\index{LOGNAMEPATTERN@{LOGNAMEPATTERN}!appConfig.h@{appConfig.h}}
\subsubsection[{LOGNAMEPATTERN}]{\setlength{\rightskip}{0pt plus 5cm}\#define LOGNAMEPATTERN~\char`\"{}log-\%Y-\%m-\%d\_\-\%Hh\char`\"{}}}
\label{appConfig_8h_9a98b2d0f973e357020c1274ec5b56c0}
Definition at line 9 of file appConfig.h.\hypertarget{appConfig_8h_acc3ee1a7f283f8ef65cea31f4436a95}{
\index{appConfig.h@{appConfig.h}!MAX@{MAX}}
\index{MAX@{MAX}!appConfig.h@{appConfig.h}}
\subsubsection[{MAX}]{\setlength{\rightskip}{0pt plus 5cm}\#define MAX(x, \/ y)~((x) $>$ (y) ? (x) : (y))}}
\label{appConfig_8h_acc3ee1a7f283f8ef65cea31f4436a95}
Definition at line 12 of file appConfig.h.\hypertarget{appConfig_8h_ce5c08f66edfc6ae44edaeef6b6101b6}{
\index{appConfig.h@{appConfig.h}!MAXCLIENTS@{MAXCLIENTS}}
\index{MAXCLIENTS@{MAXCLIENTS}!appConfig.h@{appConfig.h}}
\subsubsection[{MAXCLIENTS}]{\setlength{\rightskip}{0pt plus 5cm}\#define MAXCLIENTS~1000}}
\label{appConfig_8h_ce5c08f66edfc6ae44edaeef6b6101b6}
Definition at line 5 of file appConfig.h.\hypertarget{appConfig_8h_f77ed3e65a7b1a9341603d152a1404df}{
\index{appConfig.h@{appConfig.h}!MAXPENDING@{MAXPENDING}}
\index{MAXPENDING@{MAXPENDING}!appConfig.h@{appConfig.h}}
\subsubsection[{MAXPENDING}]{\setlength{\rightskip}{0pt plus 5cm}\#define MAXPENDING~10}}
\label{appConfig_8h_f77ed3e65a7b1a9341603d152a1404df}
Definition at line 4 of file appConfig.h.\hypertarget{appConfig_8h_74e75242132eaabbc1c512488a135926}{
\index{appConfig.h@{appConfig.h}!MIN@{MIN}}
\index{MIN@{MIN}!appConfig.h@{appConfig.h}}
\subsubsection[{MIN}]{\setlength{\rightskip}{0pt plus 5cm}\#define MIN(x, \/ y)~((x) $<$ (y) ? (x) : (y))}}
\label{appConfig_8h_74e75242132eaabbc1c512488a135926}
Definition at line 15 of file appConfig.h.\hypertarget{appConfig_8h_a0534241791f23ec8098503582406166}{
\index{appConfig.h@{appConfig.h}!READBUFSIZE@{READBUFSIZE}}
\index{READBUFSIZE@{READBUFSIZE}!appConfig.h@{appConfig.h}}
\subsubsection[{READBUFSIZE}]{\setlength{\rightskip}{0pt plus 5cm}\#define READBUFSIZE~2048}}
\label{appConfig_8h_a0534241791f23ec8098503582406166}
Definition at line 6 of file appConfig.h.
\subsection{Function Documentation}
\hypertarget{appConfig_8h_3755d793d10d6e5793ed5086a0b22964}{
\index{appConfig.h@{appConfig.h}!handleCmdLine@{handleCmdLine}}
\index{handleCmdLine@{handleCmdLine}!appConfig.h@{appConfig.h}}
\subsubsection[{handleCmdLine}]{\setlength{\rightskip}{0pt plus 5cm}int handleCmdLine ({\bf tAppConfig} $\ast$ {\em config}, \/ int {\em argc}, \/ char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]})}}
\label{appConfig_8h_3755d793d10d6e5793ed5086a0b22964}
Definition at line 10 of file handleCmdLine.c.

30
.doc/latex/clientClose_8c.tex

@ -1,30 +0,0 @@
\hypertarget{clientClose_8c}{
\section{reader/commonReader/clientClose.c File Reference}
\label{clientClose_8c}\index{reader/commonReader/clientClose.c@{reader/commonReader/clientClose.c}}
}
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$unistd.h$>$}\par
{\tt \#include $<$sys/socket.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$expat.h$>$}\par
{\tt \#include \char`\"{}../../include/client.h\char`\"{}}\par
{\tt \#include \char`\"{}../../include/monitor.h\char`\"{}}\par
{\tt \#include \char`\"{}../../include/httpRequest.h\char`\"{}}\par
\subsection*{Functions}
\begin{CompactItemize}
\item
void \hyperlink{clientClose_8c_a9dad65338aa78062b23a924ae1d2b59}{clientClose} (\hyperlink{structtClient}{tClient} $\ast$client)
\end{CompactItemize}
\subsection{Function Documentation}
\hypertarget{clientClose_8c_a9dad65338aa78062b23a924ae1d2b59}{
\index{clientClose.c@{clientClose.c}!clientClose@{clientClose}}
\index{clientClose@{clientClose}!clientClose.c@{clientClose.c}}
\subsubsection[{clientClose}]{\setlength{\rightskip}{0pt plus 5cm}void clientClose ({\bf tClient} $\ast$ {\em client})}}
\label{clientClose_8c_a9dad65338aa78062b23a924ae1d2b59}
Definition at line 12 of file clientClose.c.

100
.doc/latex/clientRead_8c.tex

@ -1,100 +0,0 @@
\hypertarget{clientRead_8c}{
\section{reader/commonReader/clientRead.c File Reference}
\label{clientRead_8c}\index{reader/commonReader/clientRead.c@{reader/commonReader/clientRead.c}}
}
{\tt \#include $<$unistd.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$errno.h$>$}\par
{\tt \#include \char`\"{}../../include/client.h\char`\"{}}\par
{\tt \#include \char`\"{}../../include/monitor.h\char`\"{}}\par
\subsection*{Defines}
\begin{CompactItemize}
\item
\#define \hyperlink{clientRead_8c_3baabeba3e06eb1b8761363a58f8391b}{GET\_\-MULTIPLIER}(size)~(((size) - 1) / READBUFSIZE + 1)
\item
\#define \hyperlink{clientRead_8c_47d745b24a58d0152c7b43db75387a79}{EOB}(client, addr)~((addr) -(client) $\rightarrow$ readBuffer $>$= (client) $\rightarrow$ readPos)
\item
\#define \hyperlink{clientRead_8c_b6f9cfea308c9f485d4b00b60fd2f6cd}{REMAINING}(client, addr)~((client) $\rightarrow$ readPos - ((addr) - (client) $\rightarrow$ readBuffer))
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item
int \hyperlink{clientRead_8c_6504ff36553f8008b9ee1d52aa977740}{clientRead} (\hyperlink{structtClient}{tClient} $\ast$client)
\item
char $\ast$ \hyperlink{clientRead_8c_8363f6facea09bd36e288a51c983aed2}{clientConsumeLine} (\hyperlink{structtClient}{tClient} $\ast$client, const char $\ast$delim, unsigned int $\ast$len)
\item
char $\ast$ \hyperlink{clientRead_8c_fbcefe4f20179c643fdff8007235325c}{clientGetLine} (\hyperlink{structtClient}{tClient} $\ast$client, const char $\ast$delim, unsigned int $\ast$len)
\item
char $\ast$ \hyperlink{clientRead_8c_8cbd479139f4645f07ae0b7c18202fef}{clientRemoveLine} (\hyperlink{structtClient}{tClient} $\ast$client, const char $\ast$delim, unsigned int $\ast$len)
\end{CompactItemize}
\subsection{Define Documentation}
\hypertarget{clientRead_8c_47d745b24a58d0152c7b43db75387a79}{
\index{clientRead.c@{clientRead.c}!EOB@{EOB}}
\index{EOB@{EOB}!clientRead.c@{clientRead.c}}
\subsubsection[{EOB}]{\setlength{\rightskip}{0pt plus 5cm}\#define EOB(client, \/ addr)~((addr) -(client) $\rightarrow$ readBuffer $>$= (client) $\rightarrow$ readPos)}}
\label{clientRead_8c_47d745b24a58d0152c7b43db75387a79}
Definition at line 100 of file clientRead.c.\hypertarget{clientRead_8c_3baabeba3e06eb1b8761363a58f8391b}{
\index{clientRead.c@{clientRead.c}!GET\_\-MULTIPLIER@{GET\_\-MULTIPLIER}}
\index{GET\_\-MULTIPLIER@{GET\_\-MULTIPLIER}!clientRead.c@{clientRead.c}}
\subsubsection[{GET\_\-MULTIPLIER}]{\setlength{\rightskip}{0pt plus 5cm}\#define GET\_\-MULTIPLIER(size)~(((size) - 1) / READBUFSIZE + 1)}}
\label{clientRead_8c_3baabeba3e06eb1b8761363a58f8391b}
Definition at line 9 of file clientRead.c.\hypertarget{clientRead_8c_b6f9cfea308c9f485d4b00b60fd2f6cd}{
\index{clientRead.c@{clientRead.c}!REMAINING@{REMAINING}}
\index{REMAINING@{REMAINING}!clientRead.c@{clientRead.c}}
\subsubsection[{REMAINING}]{\setlength{\rightskip}{0pt plus 5cm}\#define REMAINING(client, \/ addr)~((client) $\rightarrow$ readPos - ((addr) - (client) $\rightarrow$ readBuffer))}}
\label{clientRead_8c_b6f9cfea308c9f485d4b00b60fd2f6cd}
Definition at line 101 of file clientRead.c.
\subsection{Function Documentation}
\hypertarget{clientRead_8c_8363f6facea09bd36e288a51c983aed2}{
\index{clientRead.c@{clientRead.c}!clientConsumeLine@{clientConsumeLine}}
\index{clientConsumeLine@{clientConsumeLine}!clientRead.c@{clientRead.c}}
\subsubsection[{clientConsumeLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientConsumeLine ({\bf tClient} $\ast$ {\em client}, \/ const char $\ast$ {\em delim}, \/ unsigned int $\ast$ {\em len})}}
\label{clientRead_8c_8363f6facea09bd36e288a51c983aed2}
Definition at line 133 of file clientRead.c.\hypertarget{clientRead_8c_fbcefe4f20179c643fdff8007235325c}{
\index{clientRead.c@{clientRead.c}!clientGetLine@{clientGetLine}}
\index{clientGetLine@{clientGetLine}!clientRead.c@{clientRead.c}}
\subsubsection[{clientGetLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientGetLine ({\bf tClient} $\ast$ {\em client}, \/ const char $\ast$ {\em delim}, \/ unsigned int $\ast$ {\em len})}}
\label{clientRead_8c_fbcefe4f20179c643fdff8007235325c}
Definition at line 151 of file clientRead.c.\hypertarget{clientRead_8c_6504ff36553f8008b9ee1d52aa977740}{
\index{clientRead.c@{clientRead.c}!clientRead@{clientRead}}
\index{clientRead@{clientRead}!clientRead.c@{clientRead.c}}
\subsubsection[{clientRead}]{\setlength{\rightskip}{0pt plus 5cm}int clientRead ({\bf tClient} $\ast$ {\em client})}}
\label{clientRead_8c_6504ff36553f8008b9ee1d52aa977740}
Definition at line 53 of file clientRead.c.\hypertarget{clientRead_8c_8cbd479139f4645f07ae0b7c18202fef}{
\index{clientRead.c@{clientRead.c}!clientRemoveLine@{clientRemoveLine}}
\index{clientRemoveLine@{clientRemoveLine}!clientRead.c@{clientRead.c}}
\subsubsection[{clientRemoveLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientRemoveLine ({\bf tClient} $\ast$ {\em client}, \/ const char $\ast$ {\em delim}, \/ unsigned int $\ast$ {\em len})}}
\label{clientRead_8c_8cbd479139f4645f07ae0b7c18202fef}
Definition at line 164 of file clientRead.c.

136
.doc/latex/client_8h.tex

@ -1,136 +0,0 @@
\hypertarget{client_8h}{
\section{include/client.h File Reference}
\label{client_8h}\index{include/client.h@{include/client.h}}
}
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$expat.h$>$}\par
{\tt \#include \char`\"{}httpRequest.h\char`\"{}}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item
struct \hyperlink{structtClient}{tClient}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item
\#define \hyperlink{client_8h_a0534241791f23ec8098503582406166}{READBUFSIZE}~2048
\item
\#define \hyperlink{client_8h_eefa2efc8515c7f8334de344e8a07fbf}{CLIENTMULTMAX}~512U
\item
\#define \hyperlink{client_8h_f150df8f008146f177d67862d2569834}{READ\_\-ERR\_\-LONGLINE}~-2
\item
\#define \hyperlink{client_8h_4f090ce41ed48b83e309d8fce71db4ab}{READ\_\-ERR\_\-MEMORY}~-3
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item
void \hyperlink{client_8h_a9dad65338aa78062b23a924ae1d2b59}{clientClose} (\hyperlink{structtClient}{tClient} $\ast$client)
\item
int \hyperlink{client_8h_6504ff36553f8008b9ee1d52aa977740}{clientRead} (\hyperlink{structtClient}{tClient} $\ast$client)
\item
int \hyperlink{client_8h_ab1a321bfd432ac9ec8818ad3eb6e591}{clientWrite} (\hyperlink{structtClient}{tClient} $\ast$client)
\item
char $\ast$ \hyperlink{client_8h_9741eb2a0853766868828c722e67c068}{clientGetLine} (\hyperlink{structtClient}{tClient} $\ast$, const char $\ast$, unsigned int $\ast$)
\item
char $\ast$ \hyperlink{client_8h_a920588f9122184bad211ae912d1dbc4}{clientRemoveLine} (\hyperlink{structtClient}{tClient} $\ast$, const char $\ast$, unsigned int $\ast$)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item
int \hyperlink{client_8h_0b2caeb4b6f130be43e5a2f0267dd453}{verbose}
\end{CompactItemize}
\subsection{Define Documentation}
\hypertarget{client_8h_eefa2efc8515c7f8334de344e8a07fbf}{
\index{client.h@{client.h}!CLIENTMULTMAX@{CLIENTMULTMAX}}
\index{CLIENTMULTMAX@{CLIENTMULTMAX}!client.h@{client.h}}
\subsubsection[{CLIENTMULTMAX}]{\setlength{\rightskip}{0pt plus 5cm}\#define CLIENTMULTMAX~512U}}
\label{client_8h_eefa2efc8515c7f8334de344e8a07fbf}
Definition at line 11 of file client.h.\hypertarget{client_8h_f150df8f008146f177d67862d2569834}{
\index{client.h@{client.h}!READ\_\-ERR\_\-LONGLINE@{READ\_\-ERR\_\-LONGLINE}}
\index{READ\_\-ERR\_\-LONGLINE@{READ\_\-ERR\_\-LONGLINE}!client.h@{client.h}}
\subsubsection[{READ\_\-ERR\_\-LONGLINE}]{\setlength{\rightskip}{0pt plus 5cm}\#define READ\_\-ERR\_\-LONGLINE~-2}}
\label{client_8h_f150df8f008146f177d67862d2569834}
Definition at line 13 of file client.h.\hypertarget{client_8h_4f090ce41ed48b83e309d8fce71db4ab}{
\index{client.h@{client.h}!READ\_\-ERR\_\-MEMORY@{READ\_\-ERR\_\-MEMORY}}
\index{READ\_\-ERR\_\-MEMORY@{READ\_\-ERR\_\-MEMORY}!client.h@{client.h}}
\subsubsection[{READ\_\-ERR\_\-MEMORY}]{\setlength{\rightskip}{0pt plus 5cm}\#define READ\_\-ERR\_\-MEMORY~-3}}
\label{client_8h_4f090ce41ed48b83e309d8fce71db4ab}
Definition at line 14 of file client.h.\hypertarget{client_8h_a0534241791f23ec8098503582406166}{
\index{client.h@{client.h}!READBUFSIZE@{READBUFSIZE}}
\index{READBUFSIZE@{READBUFSIZE}!client.h@{client.h}}
\subsubsection[{READBUFSIZE}]{\setlength{\rightskip}{0pt plus 5cm}\#define READBUFSIZE~2048}}
\label{client_8h_a0534241791f23ec8098503582406166}
Definition at line 10 of file client.h.
\subsection{Function Documentation}
\hypertarget{client_8h_a9dad65338aa78062b23a924ae1d2b59}{
\index{client.h@{client.h}!clientClose@{clientClose}}
\index{clientClose@{clientClose}!client.h@{client.h}}
\subsubsection[{clientClose}]{\setlength{\rightskip}{0pt plus 5cm}void clientClose ({\bf tClient} $\ast$ {\em client})}}
\label{client_8h_a9dad65338aa78062b23a924ae1d2b59}
Definition at line 12 of file clientClose.c.\hypertarget{client_8h_9741eb2a0853766868828c722e67c068}{
\index{client.h@{client.h}!clientGetLine@{clientGetLine}}
\index{clientGetLine@{clientGetLine}!client.h@{client.h}}
\subsubsection[{clientGetLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientGetLine ({\bf tClient} $\ast$, \/ const char $\ast$, \/ unsigned int $\ast$)}}
\label{client_8h_9741eb2a0853766868828c722e67c068}
Definition at line 151 of file clientRead.c.\hypertarget{client_8h_6504ff36553f8008b9ee1d52aa977740}{
\index{client.h@{client.h}!clientRead@{clientRead}}
\index{clientRead@{clientRead}!client.h@{client.h}}
\subsubsection[{clientRead}]{\setlength{\rightskip}{0pt plus 5cm}int clientRead ({\bf tClient} $\ast$ {\em client})}}
\label{client_8h_6504ff36553f8008b9ee1d52aa977740}
Definition at line 53 of file clientRead.c.\hypertarget{client_8h_a920588f9122184bad211ae912d1dbc4}{
\index{client.h@{client.h}!clientRemoveLine@{clientRemoveLine}}
\index{clientRemoveLine@{clientRemoveLine}!client.h@{client.h}}
\subsubsection[{clientRemoveLine}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ clientRemoveLine ({\bf tClient} $\ast$, \/ const char $\ast$, \/ unsigned int $\ast$)}}
\label{client_8h_a920588f9122184bad211ae912d1dbc4}
Definition at line 164 of file clientRead.c.\hypertarget{client_8h_ab1a321bfd432ac9ec8818ad3eb6e591}{
\index{client.h@{client.h}!clientWrite@{clientWrite}}
\index{clientWrite@{clientWrite}!client.h@{client.h}}
\subsubsection[{clientWrite}]{\setlength{\rightskip}{0pt plus 5cm}int clientWrite ({\bf tClient} $\ast$ {\em client})}}
\label{client_8h_ab1a321bfd432ac9ec8818ad3eb6e591}
\subsection{Variable Documentation}
\hypertarget{client_8h_0b2caeb4b6f130be43e5a2f0267dd453}{
\index{client.h@{client.h}!verbose@{verbose}}
\index{verbose@{verbose}!client.h@{client.h}}
\subsubsection[{verbose}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf verbose}}}
\label{client_8h_0b2caeb4b6f130be43e5a2f0267dd453}

25
.doc/latex/daemonize_8c.tex

@ -1,25 +0,0 @@
\hypertarget{daemonize_8c}{
\section{system/daemonize.c File Reference}
\label{daemonize_8c}\index{system/daemonize.c@{system/daemonize.c}}
}
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$unistd.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
\subsection*{Functions}
\begin{CompactItemize}
\item
void \hyperlink{daemonize_8c_29b0af1da2432bcc90721c0b62f4e660}{daemonize} (void)
\end{CompactItemize}
\subsection{Function Documentation}
\hypertarget{daemonize_8c_29b0af1da2432bcc90721c0b62f4e660}{
\index{daemonize.c@{daemonize.c}!daemonize@{daemonize}}
\index{daemonize@{daemonize}!daemonize.c@{daemonize.c}}
\subsubsection[{daemonize}]{\setlength{\rightskip}{0pt plus 5cm}void daemonize (void)}}
\label{daemonize_8c_29b0af1da2432bcc90721c0b62f4e660}
Definition at line 6 of file daemonize.c.

22
.doc/latex/daemonize_8h.tex

@ -1,22 +0,0 @@
\hypertarget{daemonize_8h}{
\section{include/daemonize.h File Reference}
\label{daemonize_8h}\index{include/daemonize.h@{include/daemonize.h}}
}
\subsection*{Functions}
\begin{CompactItemize}
\item
void \hyperlink{daemonize_8h_29b0af1da2432bcc90721c0b62f4e660}{daemonize} (void)
\end{CompactItemize}
\subsection{Function Documentation}
\hypertarget{daemonize_8h_29b0af1da2432bcc90721c0b62f4e660}{
\index{daemonize.h@{daemonize.h}!daemonize@{daemonize}}
\index{daemonize@{daemonize}!daemonize.h@{daemonize.h}}
\subsubsection[{daemonize}]{\setlength{\rightskip}{0pt plus 5cm}void daemonize (void)}}
\label{daemonize_8h_29b0af1da2432bcc90721c0b62f4e660}
Definition at line 6 of file daemonize.c.

86
.doc/latex/doxygen.sty

@ -1,86 +0,0 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
\RequirePackage{calc}
\RequirePackage{array}
\pagestyle{fancyplain}
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\lhead[\fancyplain{}{\bfseries\thepage}]
{\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]
{\fancyplain{}{\bfseries\thepage}}
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by Doxygen }]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Oct 10 01:24:35 2010 for xmlrpc by Doxygen }}
\cfoot{}
\newenvironment{Code}
{\footnotesize}
{\normalsize}
\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
\newenvironment{DocInclude}
{\footnotesize}
{\normalsize}
\newenvironment{VerbInclude}
{\footnotesize}
{\normalsize}
\newenvironment{Image}
{\begin{figure}[H]}
{\end{figure}}
\newenvironment{ImageNoCaption}{}{}
\newenvironment{CompactList}
{\begin{list}{}{
\setlength{\leftmargin}{0.5cm}
\setlength{\itemsep}{0pt}
\setlength{\parsep}{0pt}
\setlength{\topsep}{0pt}
\renewcommand{\makelabel}{\hfill}}}
{\end{list}}
\newenvironment{CompactItemize}
{
\begin{itemize}
\setlength{\itemsep}{-3pt}
\setlength{\parsep}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
}
{\end{itemize}}
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
\newlength{\tmplength}
\newenvironment{TabularC}[1]
{
\setlength{\tmplength}
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
\par\begin{tabular*}{\linewidth}
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
}
{\end{tabular*}\par}
\newcommand{\entrylabel}[1]{
{\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
\newenvironment{Desc}
{\begin{list}{}
{
\settowidth{\labelwidth}{40pt}
\setlength{\leftmargin}{\labelwidth}
\setlength{\parsep}{0pt}
\setlength{\itemsep}{-4pt}
\renewcommand{\makelabel}{\entrylabel}
}
}
{\end{list}}
\newenvironment{Indent}
{\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
\item[]\ignorespaces}
{\unskip\end{list}}
\setlength{\parindent}{0cm}
\setlength{\parskip}{0.2cm}
\addtocounter{secnumdepth}{1}
\sloppy
\usepackage[T1]{fontenc}
\makeatletter
\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
{-3.25ex plus -1ex minus -0.2ex}%
{1.5ex plus 0.2ex}%
{\normalfont\normalsize\bfseries}}
\makeatother
\stepcounter{secnumdepth}
\stepcounter{tocdepth}

26
.doc/latex/files.tex

@ -1,26 +0,0 @@
\section{File List}
Here is a list of all files with brief descriptions:\begin{CompactList}
\item\contentsline{section}{include/\hyperlink{appConfig_8h}{appConfig.h} }{\pageref{appConfig_8h}}{}
\item\contentsline{section}{include/\hyperlink{client_8h}{client.h} }{\pageref{client_8h}}{}
\item\contentsline{section}{include/\hyperlink{daemonize_8h}{daemonize.h} }{\pageref{daemonize_8h}}{}
\item\contentsline{section}{include/\hyperlink{httpRequest_8h}{httpRequest.h} }{\pageref{httpRequest_8h}}{}
\item\contentsline{section}{include/\hyperlink{logRotate_8h}{logRotate.h} }{\pageref{logRotate_8h}}{}
\item\contentsline{section}{include/\hyperlink{monitor_8h}{monitor.h} }{\pageref{monitor_8h}}{}
\item\contentsline{section}{include/\hyperlink{server_8h}{server.h} }{\pageref{server_8h}}{}
\item\contentsline{section}{include/\hyperlink{signalHandling_8h}{signalHandling.h} }{\pageref{signalHandling_8h}}{}
\item\contentsline{section}{include/\hyperlink{socket_8h}{socket.h} }{\pageref{socket_8h}}{}
\item\contentsline{section}{include/\hyperlink{writeBuffer_8h}{writeBuffer.h} }{\pageref{writeBuffer_8h}}{}
\item\contentsline{section}{reader/commonReader/\hyperlink{clientClose_8c}{clientClose.c} }{\pageref{clientClose_8c}}{}
\item\contentsline{section}{reader/commonReader/\hyperlink{clientRead_8c}{clientRead.c} }{\pageref{clientRead_8c}}{}
\item\contentsline{section}{reader/commonReader/\hyperlink{writeBuffer_8c}{writeBuffer.c} }{\pageref{writeBuffer_8c}}{}
\item\contentsline{section}{reader/httpReader/\hyperlink{httpRequest_8c}{httpRequest.c} }{\pageref{httpRequest_8c}}{}
\item\contentsline{section}{server/\hyperlink{serverInit_8c}{serverInit.c} }{\pageref{serverInit_8c}}{}
\item\contentsline{section}{server/\hyperlink{serverRun_8c}{serverRun.c} }{\pageref{serverRun_8c}}{}
\item\contentsline{section}{server/\hyperlink{serverShutdown_8c}{serverShutdown.c} }{\pageref{serverShutdown_8c}}{}
\item\contentsline{section}{system/\hyperlink{daemonize_8c}{daemonize.c} }{\pageref{daemonize_8c}}{}
\item\contentsline{section}{system/\hyperlink{handleCmdLine_8c}{handleCmdLine.c} }{\pageref{handleCmdLine_8c}}{}
\item\contentsline{section}{system/\hyperlink{logRotate_8c}{logRotate.c} }{\pageref{logRotate_8c}}{}
\item\contentsline{section}{system/\hyperlink{monitor_8c}{monitor.c} }{\pageref{monitor_8c}}{}
\item\contentsline{section}{system/\hyperlink{signalHandling_8c}{signalHandling.c} }{\pageref{signalHandling_8c}}{}
\item\contentsline{section}{system/\hyperlink{socket_8c}{socket.c} }{\pageref{socket_8c}}{}
\end{CompactList}

27
.doc/latex/handleCmdLine_8c.tex

@ -1,27 +0,0 @@
\hypertarget{handleCmdLine_8c}{
\section{system/handleCmdLine.c File Reference}
\label{handleCmdLine_8c}\index{system/handleCmdLine.c@{system/handleCmdLine.c}}
}
{\tt \#include $<$unistd.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include \char`\"{}../include/appConfig.h\char`\"{}}\par
\subsection*{Functions}
\begin{CompactItemize}
\item
int \hyperlink{handleCmdLine_8c_3755d793d10d6e5793ed5086a0b22964}{handleCmdLine} (\hyperlink{structtAppConfig}{tAppConfig} $\ast$config, int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
\end{CompactItemize}
\subsection{Function Documentation}
\hypertarget{handleCmdLine_8c_3755d793d10d6e5793ed5086a0b22964}{
\index{handleCmdLine.c@{handleCmdLine.c}!handleCmdLine@{handleCmdLine}}
\index{handleCmdLine@{handleCmdLine}!handleCmdLine.c@{handleCmdLine.c}}
\subsubsection[{handleCmdLine}]{\setlength{\rightskip}{0pt plus 5cm}int handleCmdLine ({\bf tAppConfig} $\ast$ {\em config}, \/ int {\em argc}, \/ char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]})}}
\label{handleCmdLine_8c_3755d793d10d6e5793ed5086a0b22964}
Definition at line 10 of file handleCmdLine.c.

154
.doc/latex/httpRequest_8c.tex

@ -1,154 +0,0 @@
\hypertarget{httpRequest_8c}{
\section{reader/httpReader/httpRequest.c File Reference}
\label{httpRequest_8c}\index{reader/httpReader/httpRequest.c@{reader/httpReader/httpRequest.c}}
}
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$ctype.h$>$}\par
{\tt \#include \char`\"{}../../include/appConfig.h\char`\"{}}\par
{\tt \#include \char`\"{}../../include/httpRequest.h\char`\"{}}\par
{\tt \#include \char`\"{}../../include/client.h\char`\"{}}\par
\subsection*{Defines}
\begin{CompactItemize}
\item
\#define \hyperlink{httpRequest_8c_5ff6e798033f03e74730e99f01936f84}{SPACE}~0x20
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item
int \hyperlink{httpRequest_8c_c96f6dae9ced89eb2ae8ac556918e367}{httpHeaderGetLine} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header, char $\ast$$\ast$buffer, unsigned int $\ast$readPos)
\item
void \hyperlink{httpRequest_8c_e18ae9e899c3c951308bb2ec4bd810f5}{httpHeaderParseRequestLine} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header, const char $\ast$line, unsigned int len)
\item
int \hyperlink{httpRequest_8c_d5d9232083e5890588d5e1840341a48b}{httpHeaderIsComplete} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header)
\item
unsigned char \hyperlink{httpRequest_8c_29982601e2121cd75800202f5716c7f5}{httpHeaderIsStarted} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header)
\item
int \hyperlink{httpRequest_8c_fd4f839160f6d97ad28e05ee1ce81188}{httpHeaderGet} (char $\ast$$\ast$buffer, unsigned int $\ast$readPos, \hyperlink{structtHttpHeader}{tHttpHeader} $\ast$request)
\item
int \hyperlink{httpRequest_8c_9a6b00ad980ca9a2c5023ec1a802106b}{getHttpRequest} (char $\ast$$\ast$buffer, unsigned int $\ast$readPos, \hyperlink{structtHttpRequest}{tHttpRequest} $\ast$request)
\item
void \hyperlink{httpRequest_8c_86d86da69aefe2067f750c80e626de7c}{freeHttpHeader} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$header)
\item
void \hyperlink{httpRequest_8c_d1d9e65b1761d1d5f809314b4b05e772}{freeHttpRequest} (\hyperlink{structtHttpRequest}{tHttpRequest} $\ast$request)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item
char \hyperlink{httpRequest_8c_e7110ef069c94769a78296dc38ab86ca}{httpRequest} \mbox{[}8\mbox{]}\mbox{[}8\mbox{]}
\end{CompactItemize}
\subsection{Define Documentation}
\hypertarget{httpRequest_8c_5ff6e798033f03e74730e99f01936f84}{
\index{httpRequest.c@{httpRequest.c}!SPACE@{SPACE}}
\index{SPACE@{SPACE}!httpRequest.c@{httpRequest.c}}
\subsubsection[{SPACE}]{\setlength{\rightskip}{0pt plus 5cm}\#define SPACE~0x20}}
\label{httpRequest_8c_5ff6e798033f03e74730e99f01936f84}
Definition at line 10 of file httpRequest.c.
\subsection{Function Documentation}
\hypertarget{httpRequest_8c_86d86da69aefe2067f750c80e626de7c}{
\index{httpRequest.c@{httpRequest.c}!freeHttpHeader@{freeHttpHeader}}
\index{freeHttpHeader@{freeHttpHeader}!httpRequest.c@{httpRequest.c}}
\subsubsection[{freeHttpHeader}]{\setlength{\rightskip}{0pt plus 5cm}void freeHttpHeader ({\bf tHttpHeader} $\ast$ {\em header})}}
\label{httpRequest_8c_86d86da69aefe2067f750c80e626de7c}
Definition at line 187 of file httpRequest.c.\hypertarget{httpRequest_8c_d1d9e65b1761d1d5f809314b4b05e772}{
\index{httpRequest.c@{httpRequest.c}!freeHttpRequest@{freeHttpRequest}}
\index{freeHttpRequest@{freeHttpRequest}!httpRequest.c@{httpRequest.c}}
\subsubsection[{freeHttpRequest}]{\setlength{\rightskip}{0pt plus 5cm}void freeHttpRequest ({\bf tHttpRequest} $\ast$ {\em request})}}
\label{httpRequest_8c_d1d9e65b1761d1d5f809314b4b05e772}
Definition at line 217 of file httpRequest.c.\hypertarget{httpRequest_8c_9a6b00ad980ca9a2c5023ec1a802106b}{
\index{httpRequest.c@{httpRequest.c}!getHttpRequest@{getHttpRequest}}
\index{getHttpRequest@{getHttpRequest}!httpRequest.c@{httpRequest.c}}
\subsubsection[{getHttpRequest}]{\setlength{\rightskip}{0pt plus 5cm}int getHttpRequest (char $\ast$$\ast$ {\em buffer}, \/ unsigned int $\ast$ {\em readPos}, \/ {\bf tHttpRequest} $\ast$ {\em request})}}
\label{httpRequest_8c_9a6b00ad980ca9a2c5023ec1a802106b}
Definition at line 162 of file httpRequest.c.\hypertarget{httpRequest_8c_fd4f839160f6d97ad28e05ee1ce81188}{
\index{httpRequest.c@{httpRequest.c}!httpHeaderGet@{httpHeaderGet}}
\index{httpHeaderGet@{httpHeaderGet}!httpRequest.c@{httpRequest.c}}
\subsubsection[{httpHeaderGet}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderGet (char $\ast$$\ast$ {\em buffer}, \/ unsigned int $\ast$ {\em readPos}, \/ {\bf tHttpHeader} $\ast$ {\em request})}}
\label{httpRequest_8c_fd4f839160f6d97ad28e05ee1ce81188}
Definition at line 85 of file httpRequest.c.\hypertarget{httpRequest_8c_c96f6dae9ced89eb2ae8ac556918e367}{
\index{httpRequest.c@{httpRequest.c}!httpHeaderGetLine@{httpHeaderGetLine}}
\index{httpHeaderGetLine@{httpHeaderGetLine}!httpRequest.c@{httpRequest.c}}
\subsubsection[{httpHeaderGetLine}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderGetLine ({\bf tHttpHeader} $\ast$ {\em header}, \/ char $\ast$$\ast$ {\em buffer}, \/ unsigned int $\ast$ {\em readPos})}}
\label{httpRequest_8c_c96f6dae9ced89eb2ae8ac556918e367}
Definition at line 41 of file httpRequest.c.\hypertarget{httpRequest_8c_d5d9232083e5890588d5e1840341a48b}{
\index{httpRequest.c@{httpRequest.c}!httpHeaderIsComplete@{httpHeaderIsComplete}}
\index{httpHeaderIsComplete@{httpHeaderIsComplete}!httpRequest.c@{httpRequest.c}}
\subsubsection[{httpHeaderIsComplete}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderIsComplete ({\bf tHttpHeader} $\ast$ {\em header})}}
\label{httpRequest_8c_d5d9232083e5890588d5e1840341a48b}
Definition at line 52 of file httpRequest.c.\hypertarget{httpRequest_8c_29982601e2121cd75800202f5716c7f5}{
\index{httpRequest.c@{httpRequest.c}!httpHeaderIsStarted@{httpHeaderIsStarted}}
\index{httpHeaderIsStarted@{httpHeaderIsStarted}!httpRequest.c@{httpRequest.c}}
\subsubsection[{httpHeaderIsStarted}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char httpHeaderIsStarted ({\bf tHttpHeader} $\ast$ {\em header})}}
\label{httpRequest_8c_29982601e2121cd75800202f5716c7f5}
Definition at line 62 of file httpRequest.c.\hypertarget{httpRequest_8c_e18ae9e899c3c951308bb2ec4bd810f5}{
\index{httpRequest.c@{httpRequest.c}!httpHeaderParseRequestLine@{httpHeaderParseRequestLine}}
\index{httpHeaderParseRequestLine@{httpHeaderParseRequestLine}!httpRequest.c@{httpRequest.c}}
\subsubsection[{httpHeaderParseRequestLine}]{\setlength{\rightskip}{0pt plus 5cm}void httpHeaderParseRequestLine ({\bf tHttpHeader} $\ast$ {\em header}, \/ const char $\ast$ {\em line}, \/ unsigned int {\em len})}}
\label{httpRequest_8c_e18ae9e899c3c951308bb2ec4bd810f5}
Definition at line 47 of file httpRequest.c.
\subsection{Variable Documentation}
\hypertarget{httpRequest_8c_e7110ef069c94769a78296dc38ab86ca}{
\index{httpRequest.c@{httpRequest.c}!httpRequest@{httpRequest}}
\index{httpRequest@{httpRequest}!httpRequest.c@{httpRequest.c}}
\subsubsection[{httpRequest}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf httpRequest}\mbox{[}8\mbox{]}\mbox{[}8\mbox{]}}}
\label{httpRequest_8c_e7110ef069c94769a78296dc38ab86ca}
\textbf{Initial value:}
\begin{Code}\begin{verbatim} {
"OPTIONS",
"GET",
"HEAD",
"POST",
"PUT",
"DELETE",
"TRACE",
"CONNECT"
}
\end{verbatim}
\end{Code}
Definition at line 13 of file httpRequest.c.

210
.doc/latex/httpRequest_8h.tex

@ -1,210 +0,0 @@
\hypertarget{httpRequest_8h}{
\section{include/httpRequest.h File Reference}
\label{httpRequest_8h}\index{include/httpRequest.h@{include/httpRequest.h}}
}
\subsection*{Data Structures}
\begin{CompactItemize}
\item
struct \hyperlink{structtRequestLine}{tRequestLine}
\item
struct \hyperlink{structtHttpHeaderLine}{tHttpHeaderLine}
\item
struct \hyperlink{structtHttpHeader}{tHttpHeader}
\item
struct \hyperlink{structtHttpRequest}{tHttpRequest}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item
\#define \hyperlink{httpRequest_8h_bcd1460716fe0d7d7bbfab4d8df7431b}{HTTP\_\-REQ\_\-OPTIONS}~0
\item
\#define \hyperlink{httpRequest_8h_783bb94ef6eee3041b08244fcf43304f}{HTTP\_\-REQ\_\-GET}~1
\item
\#define \hyperlink{httpRequest_8h_99dd5b1289103eee62ebd66082f03e98}{HTTP\_\-REQ\_\-HEAD}~2
\item
\#define \hyperlink{httpRequest_8h_b113eaf10da1f4291202f81bea630f5b}{HTTP\_\-REQ\_\-POST}~3
\item
\#define \hyperlink{httpRequest_8h_af09691edc99a286c60427e1f390d7bd}{HTTP\_\-REQ\_\-PUT}~4
\item
\#define \hyperlink{httpRequest_8h_2894c25df3d2e54885cc414aa9731811}{HTTP\_\-REQ\_\-DELETE}~5
\item
\#define \hyperlink{httpRequest_8h_21cd537dafe8cd458fbb1eeb1208f4a8}{HTTP\_\-REQ\_\-TRACE}~6
\item
\#define \hyperlink{httpRequest_8h_5e49980e0d7d4080e2cececd00796981}{HTTP\_\-REQ\_\-CONNECT}~7
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item
int \hyperlink{httpRequest_8h_59d765731e7d39f5583ef175950becb1}{getHttpRequest} (char $\ast$$\ast$, unsigned int $\ast$, \hyperlink{structtHttpRequest}{tHttpRequest} $\ast$)
\item
void \hyperlink{httpRequest_8h_1bba1865657c64c0e1971a45ee6117ab}{freeHttpRequest} (\hyperlink{structtHttpRequest}{tHttpRequest} $\ast$)
\item
void \hyperlink{httpRequest_8h_b55d3458cc9e50ef2a22731d910c6385}{freeHttpHeader} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$)
\item
unsigned char \hyperlink{httpRequest_8h_99eb3b2c1e06ee773fd3bb7da7e98ece}{httpHeaderIsStarted} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$)
\item
int \hyperlink{httpRequest_8h_91e1c62216e1370b68a87ffc8b120f0d}{httpHeaderIsComplete} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$)
\item
int \hyperlink{httpRequest_8h_07afde622816238d4424591269f5616a}{httpHeaderGet} (char $\ast$$\ast$, unsigned int $\ast$, \hyperlink{structtHttpHeader}{tHttpHeader} $\ast$)
\item
void \hyperlink{httpRequest_8h_b7ea84417c64cc894ef20f3fad58832f}{httpHeaderParseRequestLine} (\hyperlink{structtHttpHeader}{tHttpHeader} $\ast$, const char $\ast$, unsigned int)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item
char \hyperlink{httpRequest_8h_e7110ef069c94769a78296dc38ab86ca}{httpRequest} \mbox{[}8\mbox{]}\mbox{[}8\mbox{]}
\end{CompactItemize}
\subsection{Define Documentation}
\hypertarget{httpRequest_8h_5e49980e0d7d4080e2cececd00796981}{
\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-CONNECT@{HTTP\_\-REQ\_\-CONNECT}}
\index{HTTP\_\-REQ\_\-CONNECT@{HTTP\_\-REQ\_\-CONNECT}!httpRequest.h@{httpRequest.h}}
\subsubsection[{HTTP\_\-REQ\_\-CONNECT}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-CONNECT~7}}
\label{httpRequest_8h_5e49980e0d7d4080e2cececd00796981}
Definition at line 11 of file httpRequest.h.\hypertarget{httpRequest_8h_2894c25df3d2e54885cc414aa9731811}{
\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-DELETE@{HTTP\_\-REQ\_\-DELETE}}
\index{HTTP\_\-REQ\_\-DELETE@{HTTP\_\-REQ\_\-DELETE}!httpRequest.h@{httpRequest.h}}
\subsubsection[{HTTP\_\-REQ\_\-DELETE}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-DELETE~5}}
\label{httpRequest_8h_2894c25df3d2e54885cc414aa9731811}
Definition at line 9 of file httpRequest.h.\hypertarget{httpRequest_8h_783bb94ef6eee3041b08244fcf43304f}{
\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-GET@{HTTP\_\-REQ\_\-GET}}
\index{HTTP\_\-REQ\_\-GET@{HTTP\_\-REQ\_\-GET}!httpRequest.h@{httpRequest.h}}
\subsubsection[{HTTP\_\-REQ\_\-GET}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-GET~1}}
\label{httpRequest_8h_783bb94ef6eee3041b08244fcf43304f}
Definition at line 5 of file httpRequest.h.\hypertarget{httpRequest_8h_99dd5b1289103eee62ebd66082f03e98}{
\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-HEAD@{HTTP\_\-REQ\_\-HEAD}}
\index{HTTP\_\-REQ\_\-HEAD@{HTTP\_\-REQ\_\-HEAD}!httpRequest.h@{httpRequest.h}}
\subsubsection[{HTTP\_\-REQ\_\-HEAD}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-HEAD~2}}
\label{httpRequest_8h_99dd5b1289103eee62ebd66082f03e98}
Definition at line 6 of file httpRequest.h.\hypertarget{httpRequest_8h_bcd1460716fe0d7d7bbfab4d8df7431b}{
\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-OPTIONS@{HTTP\_\-REQ\_\-OPTIONS}}
\index{HTTP\_\-REQ\_\-OPTIONS@{HTTP\_\-REQ\_\-OPTIONS}!httpRequest.h@{httpRequest.h}}
\subsubsection[{HTTP\_\-REQ\_\-OPTIONS}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-OPTIONS~0}}
\label{httpRequest_8h_bcd1460716fe0d7d7bbfab4d8df7431b}
Definition at line 4 of file httpRequest.h.\hypertarget{httpRequest_8h_b113eaf10da1f4291202f81bea630f5b}{
\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-POST@{HTTP\_\-REQ\_\-POST}}
\index{HTTP\_\-REQ\_\-POST@{HTTP\_\-REQ\_\-POST}!httpRequest.h@{httpRequest.h}}
\subsubsection[{HTTP\_\-REQ\_\-POST}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-POST~3}}
\label{httpRequest_8h_b113eaf10da1f4291202f81bea630f5b}
Definition at line 7 of file httpRequest.h.\hypertarget{httpRequest_8h_af09691edc99a286c60427e1f390d7bd}{
\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-PUT@{HTTP\_\-REQ\_\-PUT}}
\index{HTTP\_\-REQ\_\-PUT@{HTTP\_\-REQ\_\-PUT}!httpRequest.h@{httpRequest.h}}
\subsubsection[{HTTP\_\-REQ\_\-PUT}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-PUT~4}}
\label{httpRequest_8h_af09691edc99a286c60427e1f390d7bd}
Definition at line 8 of file httpRequest.h.\hypertarget{httpRequest_8h_21cd537dafe8cd458fbb1eeb1208f4a8}{
\index{httpRequest.h@{httpRequest.h}!HTTP\_\-REQ\_\-TRACE@{HTTP\_\-REQ\_\-TRACE}}
\index{HTTP\_\-REQ\_\-TRACE@{HTTP\_\-REQ\_\-TRACE}!httpRequest.h@{httpRequest.h}}
\subsubsection[{HTTP\_\-REQ\_\-TRACE}]{\setlength{\rightskip}{0pt plus 5cm}\#define HTTP\_\-REQ\_\-TRACE~6}}
\label{httpRequest_8h_21cd537dafe8cd458fbb1eeb1208f4a8}
Definition at line 10 of file httpRequest.h.
\subsection{Function Documentation}
\hypertarget{httpRequest_8h_b55d3458cc9e50ef2a22731d910c6385}{
\index{httpRequest.h@{httpRequest.h}!freeHttpHeader@{freeHttpHeader}}
\index{freeHttpHeader@{freeHttpHeader}!httpRequest.h@{httpRequest.h}}
\subsubsection[{freeHttpHeader}]{\setlength{\rightskip}{0pt plus 5cm}void freeHttpHeader ({\bf tHttpHeader} $\ast$)}}
\label{httpRequest_8h_b55d3458cc9e50ef2a22731d910c6385}
Definition at line 187 of file httpRequest.c.\hypertarget{httpRequest_8h_1bba1865657c64c0e1971a45ee6117ab}{
\index{httpRequest.h@{httpRequest.h}!freeHttpRequest@{freeHttpRequest}}
\index{freeHttpRequest@{freeHttpRequest}!httpRequest.h@{httpRequest.h}}
\subsubsection[{freeHttpRequest}]{\setlength{\rightskip}{0pt plus 5cm}void freeHttpRequest ({\bf tHttpRequest} $\ast$)}}
\label{httpRequest_8h_1bba1865657c64c0e1971a45ee6117ab}
Definition at line 217 of file httpRequest.c.\hypertarget{httpRequest_8h_59d765731e7d39f5583ef175950becb1}{
\index{httpRequest.h@{httpRequest.h}!getHttpRequest@{getHttpRequest}}
\index{getHttpRequest@{getHttpRequest}!httpRequest.h@{httpRequest.h}}
\subsubsection[{getHttpRequest}]{\setlength{\rightskip}{0pt plus 5cm}int getHttpRequest (char $\ast$$\ast$, \/ unsigned int $\ast$, \/ {\bf tHttpRequest} $\ast$)}}
\label{httpRequest_8h_59d765731e7d39f5583ef175950becb1}
Definition at line 162 of file httpRequest.c.\hypertarget{httpRequest_8h_07afde622816238d4424591269f5616a}{
\index{httpRequest.h@{httpRequest.h}!httpHeaderGet@{httpHeaderGet}}
\index{httpHeaderGet@{httpHeaderGet}!httpRequest.h@{httpRequest.h}}
\subsubsection[{httpHeaderGet}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderGet (char $\ast$$\ast$, \/ unsigned int $\ast$, \/ {\bf tHttpHeader} $\ast$)}}
\label{httpRequest_8h_07afde622816238d4424591269f5616a}
Definition at line 85 of file httpRequest.c.\hypertarget{httpRequest_8h_91e1c62216e1370b68a87ffc8b120f0d}{
\index{httpRequest.h@{httpRequest.h}!httpHeaderIsComplete@{httpHeaderIsComplete}}
\index{httpHeaderIsComplete@{httpHeaderIsComplete}!httpRequest.h@{httpRequest.h}}
\subsubsection[{httpHeaderIsComplete}]{\setlength{\rightskip}{0pt plus 5cm}int httpHeaderIsComplete ({\bf tHttpHeader} $\ast$)}}
\label{httpRequest_8h_91e1c62216e1370b68a87ffc8b120f0d}
Definition at line 52 of file httpRequest.c.\hypertarget{httpRequest_8h_99eb3b2c1e06ee773fd3bb7da7e98ece}{
\index{httpRequest.h@{httpRequest.h}!httpHeaderIsStarted@{httpHeaderIsStarted}}
\index{httpHeaderIsStarted@{httpHeaderIsStarted}!httpRequest.h@{httpRequest.h}}
\subsubsection[{httpHeaderIsStarted}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char httpHeaderIsStarted ({\bf tHttpHeader} $\ast$)}}
\label{httpRequest_8h_99eb3b2c1e06ee773fd3bb7da7e98ece}
Definition at line 62 of file httpRequest.c.\hypertarget{httpRequest_8h_b7ea84417c64cc894ef20f3fad58832f}{
\index{httpRequest.h@{httpRequest.h}!httpHeaderParseRequestLine@{httpHeaderParseRequestLine}}
\index{httpHeaderParseRequestLine@{httpHeaderParseRequestLine}!httpRequest.h@{httpRequest.h}}
\subsubsection[{httpHeaderParseRequestLine}]{\setlength{\rightskip}{0pt plus 5cm}void httpHeaderParseRequestLine ({\bf tHttpHeader} $\ast$, \/ const char $\ast$, \/ unsigned {\em int})}}
\label{httpRequest_8h_b7ea84417c64cc894ef20f3fad58832f}
Definition at line 47 of file httpRequest.c.
\subsection{Variable Documentation}
\hypertarget{httpRequest_8h_e7110ef069c94769a78296dc38ab86ca}{
\index{httpRequest.h@{httpRequest.h}!httpRequest@{httpRequest}}
\index{httpRequest@{httpRequest}!httpRequest.h@{httpRequest.h}}
\subsubsection[{httpRequest}]{\setlength{\rightskip}{0pt plus 5cm}char {\bf httpRequest}\mbox{[}8\mbox{]}\mbox{[}8\mbox{]}}}
\label{httpRequest_8h_e7110ef069c94769a78296dc38ab86ca}
Definition at line 13 of file httpRequest.c.

47
.doc/latex/logRotate_8c.tex

@ -1,47 +0,0 @@
\hypertarget{logRotate_8c}{
\section{system/logRotate.c File Reference}
\label{logRotate_8c}\index{system/logRotate.c@{system/logRotate.c}}
}
{\tt \#include $<$sys/select.h$>$}\par
{\tt \#include $<$time.h$>$}\par
{\tt \#include $<$unistd.h$>$}\par
{\tt \#include $<$sys/types.h$>$}\par
{\tt \#include $<$sys/wait.h$>$}\par
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$syslog.h$>$}\par
{\tt \#include $<$errno.h$>$}\par
{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
\subsection*{Functions}
\begin{CompactItemize}
\item
void \hyperlink{logRotate_8c_70a3ebded819019c99ad001f29e082de}{logRotate} (FILE $\ast$$\ast$handle, char $\ast$path, char $\ast$pattern)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item
int \hyperlink{logRotate_8c_0b2caeb4b6f130be43e5a2f0267dd453}{verbose}
\end{CompactItemize}
\subsection{Function Documentation}
\hypertarget{logRotate_8c_70a3ebded819019c99ad001f29e082de}{
\index{logRotate.c@{logRotate.c}!logRotate@{logRotate}}
\index{logRotate@{logRotate}!logRotate.c@{logRotate.c}}
\subsubsection[{logRotate}]{\setlength{\rightskip}{0pt plus 5cm}void logRotate (FILE $\ast$$\ast$ {\em handle}, \/ char $\ast$ {\em path}, \/ char $\ast$ {\em pattern})}}
\label{logRotate_8c_70a3ebded819019c99ad001f29e082de}
Definition at line 17 of file logRotate.c.
\subsection{Variable Documentation}
\hypertarget{logRotate_8c_0b2caeb4b6f130be43e5a2f0267dd453}{
\index{logRotate.c@{logRotate.c}!verbose@{verbose}}
\index{verbose@{verbose}!logRotate.c@{logRotate.c}}
\subsubsection[{verbose}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf verbose}}}
\label{logRotate_8c_0b2caeb4b6f130be43e5a2f0267dd453}

22
.doc/latex/logRotate_8h.tex

@ -1,22 +0,0 @@
\hypertarget{logRotate_8h}{
\section{include/logRotate.h File Reference}
\label{logRotate_8h}\index{include/logRotate.h@{include/logRotate.h}}
}
\subsection*{Functions}
\begin{CompactItemize}
\item
void \hyperlink{logRotate_8h_82df920a9975d5484d681c6f9009da38}{logRotate} (FILE $\ast$$\ast$handle, char $\ast$logPath, char $\ast$logNamePattern)
\end{CompactItemize}
\subsection{Function Documentation}
\hypertarget{logRotate_8h_82df920a9975d5484d681c6f9009da38}{
\index{logRotate.h@{logRotate.h}!logRotate@{logRotate}}
\index{logRotate@{logRotate}!logRotate.h@{logRotate.h}}
\subsubsection[{logRotate}]{\setlength{\rightskip}{0pt plus 5cm}void logRotate (FILE $\ast$$\ast$ {\em handle}, \/ char $\ast$ {\em logPath}, \/ char $\ast$ {\em logNamePattern})}}
\label{logRotate_8h_82df920a9975d5484d681c6f9009da38}
Definition at line 17 of file logRotate.c.

108
.doc/latex/monitor_8c.tex

@ -1,108 +0,0 @@
\hypertarget{monitor_8c}{
\section{system/monitor.c File Reference}
\label{monitor_8c}\index{system/monitor.c@{system/monitor.c}}
}
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$sys/wait.h$>$}\par
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$errno.h$>$}\par
{\tt \#include $<$signal.h$>$}\par
{\tt \#include $<$stdarg.h$>$}\par
{\tt \#include \char`\"{}../include/signalHandling.h\char`\"{}}\par
{\tt \#include \char`\"{}../include/monitor.h\char`\"{}}\par
\subsection*{Defines}
\begin{CompactItemize}
\item
\#define \hyperlink{monitor_8c_d2e5f556fda8453832fa6b5f7c92bc85}{MONITORCMD}~\char`\"{}/usr/bin/monitor\char`\"{}
\item
\#define \hyperlink{monitor_8c_630eb7604f0fe1161c6165cec5200b3d}{MONITORTYPE}~\char`\"{}test\char`\"{}
\item
\#define \hyperlink{monitor_8c_d79291fa6d09c30b5ad1c10c8a5d647f}{MONITORNAME}~\char`\"{}virtualitemlogreceiver\char`\"{}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item
int \hyperlink{monitor_8c_afab1757e8c3bc9c5143490b256cb684}{monitor} (unsigned int sev, const char $\ast$pattern, const char $\ast$message)
\item
int \hyperlink{monitor_8c_13e7bf0022db0d9f5dd6aeb82ec69999}{syslogMonitor} (unsigned int logLvl, unsigned int sev, const char $\ast$pattern, const char $\ast$message,...)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item
const char \hyperlink{monitor_8c_8142dc3c72610140dfcacc52de5881fd}{severity} \mbox{[}$\,$\mbox{]}\mbox{[}10\mbox{]}
\end{CompactItemize}
\subsection{Define Documentation}
\hypertarget{monitor_8c_d2e5f556fda8453832fa6b5f7c92bc85}{
\index{monitor.c@{monitor.c}!MONITORCMD@{MONITORCMD}}
\index{MONITORCMD@{MONITORCMD}!monitor.c@{monitor.c}}
\subsubsection[{MONITORCMD}]{\setlength{\rightskip}{0pt plus 5cm}\#define MONITORCMD~\char`\"{}/usr/bin/monitor\char`\"{}}}
\label{monitor_8c_d2e5f556fda8453832fa6b5f7c92bc85}
Definition at line 13 of file monitor.c.\hypertarget{monitor_8c_d79291fa6d09c30b5ad1c10c8a5d647f}{
\index{monitor.c@{monitor.c}!MONITORNAME@{MONITORNAME}}
\index{MONITORNAME@{MONITORNAME}!monitor.c@{monitor.c}}
\subsubsection[{MONITORNAME}]{\setlength{\rightskip}{0pt plus 5cm}\#define MONITORNAME~\char`\"{}virtualitemlogreceiver\char`\"{}}}
\label{monitor_8c_d79291fa6d09c30b5ad1c10c8a5d647f}
Definition at line 15 of file monitor.c.\hypertarget{monitor_8c_630eb7604f0fe1161c6165cec5200b3d}{
\index{monitor.c@{monitor.c}!MONITORTYPE@{MONITORTYPE}}
\index{MONITORTYPE@{MONITORTYPE}!monitor.c@{monitor.c}}
\subsubsection[{MONITORTYPE}]{\setlength{\rightskip}{0pt plus 5cm}\#define MONITORTYPE~\char`\"{}test\char`\"{}}}
\label{monitor_8c_630eb7604f0fe1161c6165cec5200b3d}
Definition at line 14 of file monitor.c.
\subsection{Function Documentation}
\hypertarget{monitor_8c_afab1757e8c3bc9c5143490b256cb684}{
\index{monitor.c@{monitor.c}!monitor@{monitor}}
\index{monitor@{monitor}!monitor.c@{monitor.c}}
\subsubsection[{monitor}]{\setlength{\rightskip}{0pt plus 5cm}int monitor (unsigned int {\em sev}, \/ const char $\ast$ {\em pattern}, \/ const char $\ast$ {\em message})}}
\label{monitor_8c_afab1757e8c3bc9c5143490b256cb684}
Definition at line 26 of file monitor.c.\hypertarget{monitor_8c_13e7bf0022db0d9f5dd6aeb82ec69999}{
\index{monitor.c@{monitor.c}!syslogMonitor@{syslogMonitor}}
\index{syslogMonitor@{syslogMonitor}!monitor.c@{monitor.c}}
\subsubsection[{syslogMonitor}]{\setlength{\rightskip}{0pt plus 5cm}int syslogMonitor (unsigned int {\em logLvl}, \/ unsigned int {\em sev}, \/ const char $\ast$ {\em pattern}, \/ const char $\ast$ {\em message}, \/ {\em ...})}}
\label{monitor_8c_13e7bf0022db0d9f5dd6aeb82ec69999}
Definition at line 66 of file monitor.c.
\subsection{Variable Documentation}
\hypertarget{monitor_8c_8142dc3c72610140dfcacc52de5881fd}{
\index{monitor.c@{monitor.c}!severity@{severity}}
\index{severity@{severity}!monitor.c@{monitor.c}}
\subsubsection[{severity}]{\setlength{\rightskip}{0pt plus 5cm}const char {\bf severity}\mbox{[}$\,$\mbox{]}\mbox{[}10\mbox{]}}}
\label{monitor_8c_8142dc3c72610140dfcacc52de5881fd}
\textbf{Initial value:}
\begin{Code}\begin{verbatim} {
"info",
"warning",
"critical",
"failure"
}
\end{verbatim}
\end{Code}
Definition at line 17 of file monitor.c.

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save