From a6163888f3c56123b1db313743c6147ba498732c Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 8 Aug 2014 14:42:07 +0300 Subject: Add third_party libs --- third_party/uip-1.0/doc/html/a00151.html | 221 +++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 third_party/uip-1.0/doc/html/a00151.html (limited to 'third_party/uip-1.0/doc/html/a00151.html') diff --git a/third_party/uip-1.0/doc/html/a00151.html b/third_party/uip-1.0/doc/html/a00151.html new file mode 100644 index 0000000..356a06d --- /dev/null +++ b/third_party/uip-1.0/doc/html/a00151.html @@ -0,0 +1,221 @@ + + +uIP 1.0: Architecture specific uIP functions + + + + +
+
+

Architecture specific uIP functions
+ +[The uIP TCP/IP stack] +


Detailed Description

+The functions in the architecture specific module implement the IP check sum and 32-bit additions. +

+The IP checksum calculation is the most computationally expensive operation in the TCP/IP stack and it therefore pays off to implement this in efficient assembler. The purpose of the uip-arch module is to let the checksum functions to be implemented in architecture specific assembler. +

+ + + + + + + +

+

+ + + + + + + + + + + + + + + + +

Files

file  uip_arch.h
 Declarations of architecture specific functions.

Functions

void uip_add32 (u8_t *op32, u16_t op16)
 Carry out a 32-bit addition.
u16_t uip_chksum (u16_t *buf, u16_t len)
 Calculate the Internet checksum over a buffer.
u16_t uip_ipchksum (void)
 Calculate the IP header checksum of the packet header in uip_buf.
u16_t uip_tcpchksum (void)
 Calculate the TCP checksum of the packet in uip_buf and uip_appdata.

Variables

+u8_t uip_acc32 [4]
 4-byte array used for the 32-bit sequence number calculations.
+


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void uip_add32 u8_t op32,
u16_t  op16
+
+ + + + + +
+   + + +

+Carry out a 32-bit addition. +

+Because not all architectures for which uIP is intended has native 32-bit arithmetic, uIP uses an external C function for doing the required 32-bit additions in the TCP protocol processing. This function should add the two arguments and place the result in the global variable uip_acc32.

+

Note:
The 32-bit integer pointed to by the op32 parameter and the result in the uip_acc32 variable are in network byte order (big endian).
+
Parameters:
+ + + +
op32 A pointer to a 4-byte array representing a 32-bit integer in network byte order (big endian).
op16 A 16-bit integer in host byte order.
+
+ +

+Definition at line 249 of file uip.c. +

+Referenced by uip_split_output().

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
u16_t uip_chksum u16_t buf,
u16_t  len
+
+ + + + + +
+   + + +

+Calculate the Internet checksum over a buffer. +

+The Internet checksum is the one's complement of the one's complement sum of all 16-bit words in the buffer.

+See RFC1071.

+

Note:
This function is not called in the current version of uIP, but future versions might make use of it.
+
Parameters:
+ + + +
buf A pointer to the buffer over which the checksum is to be computed.
len The length of the buffer over which the checksum is to be computed.
+
+
Returns:
The Internet checksum of the buffer.
+
+

+ + + + +
+ + + + + + + + + +
u16_t uip_ipchksum void   ) 
+
+ + + + + +
+   + + +

+Calculate the IP header checksum of the packet header in uip_buf. +

+The IP header checksum is the Internet checksum of the 20 bytes of the IP header.

+

Returns:
The IP header checksum of the IP header in the uip_buf buffer.
+
+

+ + + + +
+ + + + + + + + + +
u16_t uip_tcpchksum void   ) 
+
+ + + + + +
+   + + +

+Calculate the TCP checksum of the packet in uip_buf and uip_appdata. +

+The TCP checksum is the Internet checksum of data contents of the TCP segment, and a pseudo-header as defined in RFC793.

+

Note:
The uip_appdata pointer that points to the packet data may point anywhere in memory, so it is not possible to simply calculate the Internet checksum of the contents of the uip_buf buffer.
+
Returns:
The TCP checksum of the TCP segment in uip_buf and pointed to by uip_appdata.
+
+


Generated on Mon Jun 12 10:23:02 2006 for uIP 1.0 by  + +doxygen 1.4.6
+ + -- cgit v1.3.1