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