Update UC3 platform driver support to use the bitmasks defined in the header files...
[pub/USBasp.git] / Projects / Webserver / Lib / uip / uip-split.c
index 9ad6b48..5222a05 100644 (file)
@@ -47,7 +47,7 @@ uip_split_output(void)
 
   /* We only try to split maximum sized TCP segments. */
   if(BUF->proto == UIP_PROTO_TCP  && uip_len == UIP_BUFSIZE) {
-  
+
     tcplen = uip_len - UIP_TCPIP_HLEN - UIP_LLH_LEN;
     /* Split the segment in two. If the original packet length was
        odd, we make the second packet one byte larger. */
@@ -68,7 +68,7 @@ uip_split_output(void)
     BUF->len[0] = (uip_len - UIP_LLH_LEN) >> 8;
     BUF->len[1] = (uip_len - UIP_LLH_LEN) & 0xff;
 #endif /* UIP_CONF_IPV6 */
-    
+
     /* Recalculate the TCP checksum. */
     BUF->tcpchksum = 0;
     BUF->tcpchksum = ~(uip_tcpchksum());
@@ -78,19 +78,21 @@ uip_split_output(void)
     BUF->ipchksum = 0;
     BUF->ipchksum = ~(uip_ipchksum());
 #endif /* UIP_CONF_IPV6 */
-    
+
     /* Transmit the first packet. */
-    /*    uip_fw_output();*/
 #if UIP_CONF_IPV6
     tcpip_ipv6_output();
 #else
-       RNDIS_Host_SendPacket(&Ethernet_RNDIS_Interface, uip_buf, uip_len);
+       if (USB_CurrentMode == USB_MODE_Device)
+         RNDIS_Device_SendPacket(&Ethernet_RNDIS_Interface_Device, uip_buf, uip_len);
+       else
+         RNDIS_Host_SendPacket(&Ethernet_RNDIS_Interface_Host, uip_buf, uip_len);
 #endif /* UIP_CONF_IPV6 */
-   
+
     /* Now, create the second packet. To do this, it is not enough to
        just alter the length field, but we must also update the TCP
        sequence number and point the uip_appdata to a new place in
-       memory. This place is detemined by the length of the first
+       memory. This place is determined by the length of the first
        packet (len1). */
     uip_len = len2 + UIP_TCPIP_HLEN + UIP_LLH_LEN;
 #if UIP_CONF_IPV6
@@ -102,8 +104,7 @@ uip_split_output(void)
     BUF->len[0] = (uip_len  - UIP_LLH_LEN) >> 8;
     BUF->len[1] = (uip_len - UIP_LLH_LEN) & 0xff;
 #endif /* UIP_CONF_IPV6 */
-    
-    /*    uip_appdata += len1;*/
+
     memcpy(uip_appdata, (u8_t *)uip_appdata + len1, len2);
 
     uip_add32(BUF->seqno, len1);
@@ -111,7 +112,7 @@ uip_split_output(void)
     BUF->seqno[1] = uip_acc32[1];
     BUF->seqno[2] = uip_acc32[2];
     BUF->seqno[3] = uip_acc32[3];
-    
+
     /* Recalculate the TCP checksum. */
     BUF->tcpchksum = 0;
     BUF->tcpchksum = ~(uip_tcpchksum());
@@ -123,12 +124,13 @@ uip_split_output(void)
 #endif /* UIP_CONF_IPV6 */
 
     /* Transmit the second packet. */
-    /*    uip_fw_output();*/
 #if UIP_CONF_IPV6
     tcpip_ipv6_output();
 #else
-       RNDIS_Host_SendPacket(&Ethernet_RNDIS_Interface, uip_buf, uip_len);
-    //tcpip_output();
+       if (USB_CurrentMode == USB_MODE_Device)
+         RNDIS_Device_SendPacket(&Ethernet_RNDIS_Interface_Device, uip_buf, uip_len);
+       else
+         RNDIS_Host_SendPacket(&Ethernet_RNDIS_Interface_Host, uip_buf, uip_len);
 #endif /* UIP_CONF_IPV6 */
     return;
   }
@@ -138,8 +140,12 @@ uip_split_output(void)
 #if UIP_CONF_IPV6
        tcpip_ipv6_output();
 #else
-       RNDIS_Host_SendPacket(&Ethernet_RNDIS_Interface, uip_buf, uip_len);
+       if (USB_CurrentMode == USB_MODE_Device)
+         RNDIS_Device_SendPacket(&Ethernet_RNDIS_Interface_Device, uip_buf, uip_len);
+       else
+         RNDIS_Host_SendPacket(&Ethernet_RNDIS_Interface_Host, uip_buf, uip_len);
 #endif /* UIP_CONF_IPV6 */
 }
 
 /*-----------------------------------------------------------------------------*/
+