-/** Processes incomming packets to the server from the connected RNDIS device, creating responses as needed. */\r
-static void uIPManagement_ProcessIncommingPacket(void)\r
+/** uIP TCP/IP network stack callback function for the processing of a given TCP connection. This routine dispatches\r
+ *  to the appropriate TCP protocol application based on the connection's listen port number.\r
+ */\r
+void uIPManagement_TCPCallback(void)\r
+{\r
+       /* Call the correct TCP application based on the port number the connection is listening on */\r
+       switch (uip_conn->lport)\r
+       {\r
+               case HTONS(HTTP_SERVER_PORT):\r
+                       HTTPServerApp_Callback();\r
+                       break;\r
+               #if defined(ENABLE_TELNET_SERVER)\r
+               case HTONS(TELNET_SERVER_PORT):\r
+                       TELNETServerApp_Callback();\r
+                       break;\r
+               #endif\r
+       }\r
+}\r
+\r
+/** uIP TCP/IP network stack callback function for the processing of a given UDP connection. This routine dispatches\r
+ *  to the appropriate UDP protocol application based on the connection's listen port number.\r
+ */\r
+void uIPManagement_UDPCallback(void)\r
+{\r
+       /* Call the correct UDP application based on the port number the connection is listening on */\r
+       switch (uip_udp_conn->lport)\r
+       {\r
+               case HTONS(DHCPC_CLIENT_PORT):\r
+                       DHCPClientApp_Callback();\r
+                       break;\r
+       }\r
+}\r
+\r
+/** Processes Incoming packets to the server from the connected RNDIS device, creating responses as needed. */\r
+static void uIPManagement_ProcessIncomingPacket(void)\r