aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/Incomplete/Webserver/Lib/WebserverApp.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-01-25 12:01:02 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-01-25 12:01:02 +0000
commitd66f227ccef46a65e17b06d31c82c30158ae36a5 (patch)
tree71dccb208642b184187b2b20741ca27d25966d58 /Projects/Incomplete/Webserver/Lib/WebserverApp.c
parent431db89b00408197976d653d89d15eeef8172e1b (diff)
downloadlufa-d66f227ccef46a65e17b06d31c82c30158ae36a5.tar.gz
lufa-d66f227ccef46a65e17b06d31c82c30158ae36a5.tar.bz2
lufa-d66f227ccef46a65e17b06d31c82c30158ae36a5.zip
Neaten Webserver project code.
Diffstat (limited to 'Projects/Incomplete/Webserver/Lib/WebserverApp.c')
-rw-r--r--Projects/Incomplete/Webserver/Lib/WebserverApp.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/Projects/Incomplete/Webserver/Lib/WebserverApp.c b/Projects/Incomplete/Webserver/Lib/WebserverApp.c
index 11acec4b7..6ac94d6ac 100644
--- a/Projects/Incomplete/Webserver/Lib/WebserverApp.c
+++ b/Projects/Incomplete/Webserver/Lib/WebserverApp.c
@@ -51,7 +51,6 @@ char PROGMEM HTTP404Header[] = "HTTP/1.1 404 Not Found\r\n"
"Server: LUFA RNDIS\r\n"
"Connection: close\r\n\r\n";
-/****************************************************************************************/
/** HTTP page to serve to the host when a HTTP request is made. This page is too long for a single response, thus it is automatically
* broken up into smaller blocks and sent as a series of packets each time the webserver application callback is run.
*/
@@ -75,7 +74,17 @@ char PROGMEM HTTPPage[] =
" </body>"
"</html>";
-void WebserverAppCallback(void)
+/** Initialization function for the simple HTTP webserver. */
+void WebserverApp_Init(void)
+{
+ /* Listen on port 80 for HTTP connections from hosts */
+ uip_listen(HTONS(80));
+}
+
+/** uIP stack application callback for the simple HTTP webserver. This function must be called each time the
+ * TCP/IP stack needs a TCP packet to be processed.
+ */
+void WebserverApp_Callback(void)
{
char* AppDataPtr = (char*)uip_appdata;
uint16_t AppDataSize = 0;
@@ -116,10 +125,12 @@ void WebserverAppCallback(void)
}
else if (BytesRemaining > MaxSegSize)
{
+ /* More bytes remaining to send than the maximum segment size, send next chunk */
AppDataSize = MaxSegSize;
}
else
{
+ /* Less bytes than the segment size remaining, send all remaining bytes in the one packet */
AppDataSize = BytesRemaining;
}