1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>uIP 1.0: Web server</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5<link href="tabs.css" rel="stylesheet" type="text/css"> 6</head><body> 7<!-- Generated by Doxygen 1.4.6 --> 8<div class="tabs"> 9 <ul> 10 <li><a href="main.html"><span>Main Page</span></a></li> 11 <li><a href="modules.html"><span>Modules</span></a></li> 12 <li><a href="classes.html"><span>Data Structures</span></a></li> 13 <li><a href="files.html"><span>Files</span></a></li> 14 <li><a href="examples.html"><span>Examples</span></a></li> 15 </ul></div> 16<h1>Web server<br> 17<small> 18[<a class="el" href="a00143.html">Applications</a>]</small> 19</h1><hr><a name="_details"></a><h2>Detailed Description</h2> 20The uIP web server is a very simplistic implementation of an HTTP server. 21<p> 22It can serve web pages and files from a read-only ROM filesystem, and provides a very small scripting language. 23<p> 24<table border="0" cellpadding="0" cellspacing="0"> 25<tr><td></td></tr> 26<tr><td colspan="2"><br><h2>Files</h2></td></tr> 27<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html">httpd-cgi.h</a></td></tr> 28 29<tr><td class="mdescLeft"> </td><td class="mdescRight">Web server script interface header file. <br></td></tr> 30 31<p> 32<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html">httpd-cgi.c</a></td></tr> 33 34<tr><td class="mdescLeft"> </td><td class="mdescRight">Web server script interface. <br></td></tr> 35 36<p> 37<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html">httpd.c</a></td></tr> 38 39<tr><td class="mdescLeft"> </td><td class="mdescRight">Web server. <br></td></tr> 40 41<p> 42<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> 43<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">httpd_cgi_call</a></td></tr> 44 45<tr><td colspan="2"><br><h2>Defines</h2></td></tr> 46<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g1dbc635a2924806f42d7e3273a6a69b5">HTTPD_CGI_CALL</a>(name, str, function)</td></tr> 47 48<tr><td class="mdescLeft"> </td><td class="mdescRight">HTTPD CGI function declaration. <a href="#g1dbc635a2924806f42d7e3273a6a69b5"></a><br></td></tr> 49<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7d7920c1e51cc4eef80206ebd6fee3f4"></a><!-- doxytag: member="httpd::STATE_WAITING" ref="g7d7920c1e51cc4eef80206ebd6fee3f4" args="" --> 50#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g7d7920c1e51cc4eef80206ebd6fee3f4">STATE_WAITING</a> 0</td></tr> 51 52<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8a645f8831837320c4e0c704e871abcf"></a><!-- doxytag: member="httpd::STATE_OUTPUT" ref="g8a645f8831837320c4e0c704e871abcf" args="" --> 53#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g8a645f8831837320c4e0c704e871abcf">STATE_OUTPUT</a> 1</td></tr> 54 55<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3212e70c55244608ac16316888c354f0"></a><!-- doxytag: member="httpd::ISO_nl" ref="g3212e70c55244608ac16316888c354f0" args="" --> 56#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g3212e70c55244608ac16316888c354f0">ISO_nl</a> 0x0a</td></tr> 57 58<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g71e1b022f7b7fa3a154f19372b239935"></a><!-- doxytag: member="httpd::ISO_space" ref="g71e1b022f7b7fa3a154f19372b239935" args="" --> 59#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g71e1b022f7b7fa3a154f19372b239935">ISO_space</a> 0x20</td></tr> 60 61<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge3f8f7deae69854853b0c8ebb82c380d"></a><!-- doxytag: member="httpd::ISO_bang" ref="ge3f8f7deae69854853b0c8ebb82c380d" args="" --> 62#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#ge3f8f7deae69854853b0c8ebb82c380d">ISO_bang</a> 0x21</td></tr> 63 64<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g79f9a50c2cccb967d38a2eeb45d2fd75"></a><!-- doxytag: member="httpd::ISO_percent" ref="g79f9a50c2cccb967d38a2eeb45d2fd75" args="" --> 65#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g79f9a50c2cccb967d38a2eeb45d2fd75">ISO_percent</a> 0x25</td></tr> 66 67<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf7dd2757d1e766f65b01ba7c91c660a0"></a><!-- doxytag: member="httpd::ISO_period" ref="gf7dd2757d1e766f65b01ba7c91c660a0" args="" --> 68#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#gf7dd2757d1e766f65b01ba7c91c660a0">ISO_period</a> 0x2e</td></tr> 69 70<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g820fb27c50e7bb4ac6d9eae1b06630a5"></a><!-- doxytag: member="httpd::ISO_slash" ref="g820fb27c50e7bb4ac6d9eae1b06630a5" args="" --> 71#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g820fb27c50e7bb4ac6d9eae1b06630a5">ISO_slash</a> 0x2f</td></tr> 72 73<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g14e276fa8e765f774f4162619f1c8fc1"></a><!-- doxytag: member="httpd::ISO_colon" ref="g14e276fa8e765f774f4162619f1c8fc1" args="" --> 74#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g14e276fa8e765f774f4162619f1c8fc1">ISO_colon</a> 0x3a</td></tr> 75 76<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 77<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge6f849e94cf6e214be8ffa9a548ecfcd"></a><!-- doxytag: member="httpd::httpd_cgi" ref="ge6f849e94cf6e214be8ffa9a548ecfcd" args="(char *name)" --> 78httpd_cgifunction </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#ge6f849e94cf6e214be8ffa9a548ecfcd">httpd_cgi</a> (char *name)</td></tr> 79 80<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g648ddfb2dde2cc55034e4e0ea41cb6d1"></a><!-- doxytag: member="httpd::httpd_appcall" ref="g648ddfb2dde2cc55034e4e0ea41cb6d1" args="(void)" --> 81void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#g648ddfb2dde2cc55034e4e0ea41cb6d1">httpd_appcall</a> (void)</td></tr> 82 83<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00164.html#gc364305cee969a0be43c071722b136e6">httpd_init</a> (void)</td></tr> 84 85<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize the web server. <a href="#gc364305cee969a0be43c071722b136e6"></a><br></td></tr> 86</table> 87<hr><h2>Define Documentation</h2> 88<a class="anchor" name="g1dbc635a2924806f42d7e3273a6a69b5"></a><!-- doxytag: member="httpd-cgi.h::HTTPD_CGI_CALL" ref="g1dbc635a2924806f42d7e3273a6a69b5" args="(name, str, function)" --><p> 89<table class="mdTable" cellpadding="2" cellspacing="0"> 90 <tr> 91 <td class="mdRow"> 92 <table cellpadding="0" cellspacing="0" border="0"> 93 <tr> 94 <td class="md" nowrap valign="top">#define HTTPD_CGI_CALL </td> 95 <td class="md" valign="top">( </td> 96 <td class="md" nowrap valign="top">name, <tr> 97 <td class="md" nowrap align="right"></td> 98 <td class="md"></td> 99 <td class="md" nowrap>str, <tr> 100 <td class="md" nowrap align="right"></td> 101 <td class="md"></td> 102 <td class="md" nowrap>function </td> 103 <td class="mdname1" valign="top" nowrap> </td> 104 <td class="md" valign="top"> ) </td> 105 <td class="md" nowrap></td> 106 </tr> 107 </table> 108 </td> 109 </tr> 110</table> 111<table cellspacing="5" cellpadding="0" border="0"> 112 <tr> 113 <td> 114 115 </td> 116 <td> 117 118<p> 119HTTPD CGI function declaration. 120<p> 121<dl compact><dt><b>Parameters:</b></dt><dd> 122 <table border="0" cellspacing="2" cellpadding="0"> 123 <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>The C variable name of the function </td></tr> 124 <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>The string name of the function, used in the script file </td></tr> 125 <tr><td valign="top"></td><td valign="top"><em>function</em> </td><td>A pointer to the function that implements it</td></tr> 126 </table> 127</dl> 128This macro is used for declaring a HTTPD CGI function. This function is then added to the list of HTTPD CGI functions with the httpd_cgi_add() function. 129<p> 130Definition at line <a class="el" href="a00183.html#l00077">77</a> of file <a class="el" href="a00183.html">httpd-cgi.h</a>. </td> 131 </tr> 132</table> 133<hr><h2>Function Documentation</h2> 134<a class="anchor" name="gc364305cee969a0be43c071722b136e6"></a><!-- doxytag: member="httpd.c::httpd_init" ref="gc364305cee969a0be43c071722b136e6" args="(void)" --><p> 135<table class="mdTable" cellpadding="2" cellspacing="0"> 136 <tr> 137 <td class="mdRow"> 138 <table cellpadding="0" cellspacing="0" border="0"> 139 <tr> 140 <td class="md" nowrap valign="top">void httpd_init </td> 141 <td class="md" valign="top">( </td> 142 <td class="md" nowrap valign="top">void </td> 143 <td class="mdname1" valign="top" nowrap> </td> 144 <td class="md" valign="top"> ) </td> 145 <td class="md" nowrap></td> 146 </tr> 147 </table> 148 </td> 149 </tr> 150</table> 151<table cellspacing="5" cellpadding="0" border="0"> 152 <tr> 153 <td> 154 155 </td> 156 <td> 157 158<p> 159Initialize the web server. 160<p> 161This function initializes the web server and should be called at system boot-up. 162<p> 163Definition at line <a class="el" href="a00184.html#l00333">333</a> of file <a class="el" href="a00184.html">httpd.c</a>. 164<p> 165References <a class="el" href="a00202.html#l01070">HTONS</a>, and <a class="el" href="a00201.html#l00529">uip_listen()</a>. </td> 166 </tr> 167</table> 168<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:02 2006 for uIP 1.0 by 169<a href="http://www.doxygen.org/index.html"> 170<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> 171</body> 172</html> 173