/** @file\r
TCP input process routines.\r
\r
-Copyright (c) 2005 - 2007, Intel Corporation<BR>\r
+Copyright (c) 2005 - 2009, Intel Corporation<BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
**/\r
VOID\r
TcpFastRecover (\r
- IN TCP_CB *Tcb,\r
- IN TCP_SEG *Seg\r
+ IN OUT TCP_CB *Tcb,\r
+ IN TCP_SEG *Seg\r
)\r
{\r
UINT32 FlightSize;\r
**/\r
VOID\r
TcpFastLossRecover (\r
- IN TCP_CB *Tcb,\r
- IN TCP_SEG *Seg\r
+ IN OUT TCP_CB *Tcb,\r
+ IN TCP_SEG *Seg\r
)\r
{\r
if (TCP_SEQ_GT (Seg->Ack, Tcb->SndUna)) {\r
**/\r
VOID\r
TcpComputeRtt (\r
- IN TCP_CB *Tcb,\r
- IN UINT32 Measure\r
+ IN OUT TCP_CB *Tcb,\r
+ IN UINT32 Measure\r
)\r
{\r
INT32 Var;\r
@param Left The sequence number of the window's left edge.\r
@param Right The sequence number of the window's right edge.\r
\r
- @return 0 The data is successfully trimmed.\r
-\r
**/\r
-INTN\r
+VOID\r
TcpTrimSegment (\r
IN NET_BUF *Nbuf,\r
IN TCP_SEQNO Left,\r
\r
Seg->Seq = Seg->End;\r
NetbufTrim (Nbuf, Nbuf->TotalSize, NET_BUF_HEAD);\r
- return 0;\r
+ return;\r
}\r
\r
//\r
}\r
\r
ASSERT (TcpVerifySegment (Nbuf) != 0);\r
- return 0;\r
}\r
\r
\r
@param Tcb Pointer to the TCP_CB of this TCP instance.\r
@param Nbuf Pointer to the NET_BUF containing the received tcp segment.\r
\r
- @return 0 The data is trimmed.\r
-\r
**/\r
-INTN\r
+VOID\r
TcpTrimInWnd (\r
IN TCP_CB *Tcb,\r
IN NET_BUF *Nbuf\r
)\r
{\r
- return TcpTrimSegment (Nbuf, Tcb->RcvNxt, Tcb->RcvWl2 + Tcb->RcvWnd);\r
+ TcpTrimSegment (Nbuf, Tcb->RcvNxt, Tcb->RcvWl2 + Tcb->RcvWnd);\r
}\r
\r
\r
**/\r
INTN\r
TcpDeliverData (\r
- IN TCP_CB *Tcb\r
+ IN OUT TCP_CB *Tcb\r
)\r
{\r
LIST_ENTRY *Entry;\r
TCP_SET_FLG (Tcb->CtrlFlag, TCP_CTRL_ACK_NOW);\r
}\r
\r
- if (Nbuf->TotalSize) {\r
+ if (Nbuf->TotalSize != 0) {\r
Urgent = 0;\r
\r
if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_RCVD_URG) &&\r
**/\r
VOID\r
TcpQueueData (\r
- IN TCP_CB *Tcb,\r
- IN NET_BUF *Nbuf\r
+ IN OUT TCP_CB *Tcb,\r
+ IN NET_BUF *Nbuf\r
)\r
{\r
TCP_SEG *Seg;\r
Tcb = TcpCloneTcb (Parent);\r
if (Tcb == NULL) {\r
DEBUG ((EFI_D_ERROR, "TcpInput: discard a segment because"\r
- "failed to clone a child for TCB%x\n", Tcb));\r
+ " failed to clone a child for TCB%x\n", Tcb));\r
\r
goto DISCARD;\r
}\r
TcpClose (Tcb);\r
}\r
break;\r
+\r
+ default:\r
+ break;\r
}\r
\r
//\r
\r
if ((Tcb->State != TCP_CLOSED) &&\r
(TcpToSendData (Tcb, 0) == 0) &&\r
- (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_ACK_NOW) || Nbuf->TotalSize)) {\r
+ (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_ACK_NOW) || (Nbuf->TotalSize != 0))) {\r
\r
TcpToSendAck (Tcb);\r
}\r
VOID\r
TcpIcmpInput (\r
IN NET_BUF *Nbuf,\r
- IN ICMP_ERROR IcmpErr,\r
+ IN UINT8 IcmpErr,\r
IN UINT32 Src,\r
IN UINT32 Dst\r
)\r
goto CLEAN_EXIT;\r
}\r
\r
- IcmpErrStatus = IpIoGetIcmpErrStatus (IcmpErr, &IcmpErrIsHard, &IcmpErrNotify);\r
+ IcmpErrStatus = IpIoGetIcmpErrStatus (\r
+ IcmpErr,\r
+ IP_VERSION_4,\r
+ &IcmpErrIsHard,\r
+ &IcmpErrNotify\r
+ );\r
\r
if (IcmpErrNotify) {\r
\r