summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/ComponentName.c2
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c40
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h8
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c7
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Socket.h24
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Func.h70
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c18
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Io.c2
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c30
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c8
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.h4
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c18
-rw-r--r--MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c50
13 files changed, 139 insertions, 142 deletions
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/ComponentName.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/ComponentName.c
index 377fd3bb4b..85afc525e8 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/ComponentName.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/ComponentName.c
@@ -222,7 +222,7 @@ TcpComponentNameGetDriverName (
This->SupportedLanguages,
mTcpDriverNameTable,
DriverName,
- (BOOLEAN)(This == &gTcp4ComponentName)
+ (BOOLEAN) (This == &gTcp4ComponentName)
);
}
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c
index 1e27bfbf97..b8a8258bed 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c
@@ -41,7 +41,7 @@ SockTcpDataToRcv (
**/
VOID
SockProcessSndToken (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
);
/**
@@ -148,7 +148,7 @@ SockTcpDataToRcv (
@param Sock Pointer to the socket.
@param TcpRxData Pointer to the application provided receive buffer.
@param RcvdBytes The maximum length of the data can be copied.
- @param IsOOB If TURE the data is OOB, else the data is normal.
+ @param IsOOB If TURE the data is OOB, FALSE the data is normal.
**/
VOID
@@ -204,8 +204,8 @@ SockSetTcpRxData (
**/
UINT32
SockProcessRcvToken (
- IN SOCKET *Sock,
- IN SOCK_IO_TOKEN *RcvToken
+ IN SOCKET *Sock,
+ IN OUT SOCK_IO_TOKEN *RcvToken
)
{
UINT32 TokenRcvdBytes;
@@ -242,7 +242,7 @@ SockProcessRcvToken (
the buffer to socket send buffer,then try to send it.
@param Sock Pointer to the socket.
- @param TcpTxData Pointer to the tcp txdata.
+ @param TcpTxData Pointer to the application provided send buffer.
@retval EFI_SUCCESS The operation is completed successfully.
@retval EFI_OUT_OF_RESOURCES Failed due to resource limit.
@@ -358,7 +358,7 @@ SockFlushPendingToken (
**/
VOID
SockWakeConnToken (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
)
{
ASSERT (Sock->ConnectionToken != NULL);
@@ -382,7 +382,7 @@ SockWakeConnToken (
**/
VOID
SockWakeListenToken (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
)
{
SOCKET *Parent;
@@ -470,7 +470,7 @@ SockWakeRcvToken (
**/
VOID
SockProcessSndToken (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
)
{
UINT32 FreeSpace;
@@ -712,7 +712,7 @@ OnError:
**/
VOID
SockDestroy (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
)
{
VOID *SockProtocol;
@@ -804,14 +804,14 @@ FreeSock:
/**
- Flush the socket.
+ Flush the sndBuffer and rcvBuffer of socket.
@param Sock Pointer to the socket.
**/
VOID
SockConnFlush (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
)
{
SOCKET *Child;
@@ -877,8 +877,8 @@ SockConnFlush (
**/
VOID
SockSetState (
- IN SOCKET *Sock,
- IN SOCK_STATE State
+ IN OUT SOCKET *Sock,
+ IN SOCK_STATE State
)
{
Sock->State = State;
@@ -972,7 +972,7 @@ SockConnEstablished (
**/
VOID
SockConnClosed (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
)
{
if (Sock->CloseToken != NULL) {
@@ -1094,9 +1094,9 @@ SockGetDataToSend (
**/
VOID
SockDataRcvd (
- IN SOCKET *Sock,
- IN NET_BUF *NetBuffer,
- IN UINT32 UrgLen
+ IN SOCKET *Sock,
+ IN OUT NET_BUF *NetBuffer,
+ IN UINT32 UrgLen
)
{
ASSERT ((Sock != NULL) && (Sock->RcvBuffer.DataQueue != NULL) &&
@@ -1161,8 +1161,8 @@ SockGetFreeSpace (
**/
VOID
SockRcvdErr (
- IN SOCKET *Sock,
- IN EFI_STATUS Error
+ IN OUT SOCKET *Sock,
+ IN EFI_STATUS Error
)
{
SOCK_TOKEN *SockToken;
@@ -1199,7 +1199,7 @@ SockRcvdErr (
**/
VOID
SockNoMoreData (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
)
{
EFI_STATUS Err;
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h
index 7381f4460e..840f6b1693 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h
@@ -86,8 +86,8 @@ SockSetTcpRxData (
**/
UINT32
SockProcessRcvToken (
- IN SOCKET *Sock,
- IN SOCK_IO_TOKEN *RcvToken
+ IN SOCKET *Sock,
+ IN OUT SOCK_IO_TOKEN *RcvToken
);
/**
@@ -98,7 +98,7 @@ SockProcessRcvToken (
**/
VOID
SockConnFlush (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
);
/**
@@ -122,7 +122,7 @@ SockCreate (
**/
VOID
SockDestroy (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
);
#endif
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c
index c075695467..f7b0e99c39 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c
@@ -22,7 +22,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@param Event The event to be checked.
@retval TRUE The specific Event exists in the List.
- @retval False The specific Event is not in the List.
+ @retval FALSE The specific Event is not in the List.
**/
BOOLEAN
@@ -57,7 +57,8 @@ SockTokenExistedInList (
@param Sock Pointer to the instance's socket.
@param Event The event to be checked.
- @return The specific Event exists in one of socket's lists or not.
+ @retval TRUE The Event exists in related socket's lists.
+ @retval FALSE The Event is not in related socket's lists.
**/
BOOLEAN
@@ -139,7 +140,7 @@ SockBufferToken (
**/
EFI_STATUS
SockDestroyChild (
- IN SOCKET *Sock
+ IN SOCKET *Sock
)
{
EFI_STATUS Status;
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Socket.h b/MdeModulePkg/Universal/Network/Tcp4Dxe/Socket.h
index 8d917b13ea..0992a2c15b 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Socket.h
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Socket.h
@@ -14,7 +14,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#ifndef _SOCKET_H_
#define _SOCKET_H_
-#include <PiDxe.h>
+#include <Uefi.h>
#include <Protocol/Ip4.h>
#include <Protocol/Tcp4.h>
@@ -23,12 +23,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/NetLib.h>
#include <Library/DebugLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/UefiDriverEntryPoint.h>
#include <Library/UefiBootServicesTableLib.h>
-#include <Library/BaseLib.h>
#include <Library/UefiLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/BaseMemoryLib.h>
#define SOCK_SND_BUF 0
#define SOCK_RCV_BUF 1
@@ -244,8 +240,8 @@ EFI_STATUS
**/
VOID
SockSetState (
- IN SOCKET *Sock,
- IN SOCK_STATE State
+ IN OUT SOCKET *Sock,
+ IN SOCK_STATE State
);
/**
@@ -276,7 +272,7 @@ SockConnEstablished (
**/
VOID
SockConnClosed (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
);
/**
@@ -328,7 +324,7 @@ SockGetDataToSend (
**/
VOID
SockNoMoreData (
- IN SOCKET *Sock
+ IN OUT SOCKET *Sock
);
/**
@@ -345,9 +341,9 @@ SockNoMoreData (
**/
VOID
SockDataRcvd (
- IN SOCKET *Sock,
- IN NET_BUF *NetBuffer,
- IN UINT32 UrgLen
+ IN SOCKET *Sock,
+ IN OUT NET_BUF *NetBuffer,
+ IN UINT32 UrgLen
);
/**
@@ -389,8 +385,8 @@ SockClone (
**/
VOID
SockRcvdErr (
- IN SOCKET *Sock,
- IN EFI_STATUS Error
+ IN OUT SOCKET *Sock,
+ IN EFI_STATUS Error
);
///
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Func.h b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Func.h
index b0edceaab9..ae2c666bf2 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Func.h
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Func.h
@@ -107,7 +107,7 @@ TcpGetIss (
**/
VOID
TcpInitTcbLocal (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -121,9 +121,9 @@ TcpInitTcbLocal (
**/
VOID
TcpInitTcbPeer (
- IN TCP_CB *Tcb,
- IN TCP_SEG *Seg,
- IN TCP_OPTION *Opt
+ IN OUT TCP_CB *Tcb,
+ IN TCP_SEG *Seg,
+ IN TCP_OPTION *Opt
);
/**
@@ -148,8 +148,8 @@ TcpGetRcvMss (
**/
VOID
TcpSetState (
- IN TCP_CB *Tcb,
- IN UINT8 State
+ IN OUT TCP_CB *Tcb,
+ IN UINT8 State
);
//
@@ -187,8 +187,8 @@ TcpSendIpPacket (
**/
INTN
TcpToSendData (
- IN TCP_CB *Tcb,
- IN INTN Force
+ IN OUT TCP_CB *Tcb,
+ IN INTN Force
);
/**
@@ -199,7 +199,7 @@ TcpToSendData (
**/
VOID
TcpToSendAck (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -210,7 +210,7 @@ TcpToSendAck (
**/
VOID
TcpSendAck (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -224,7 +224,7 @@ TcpSendAck (
**/
INTN
TcpSendZeroProbe (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -240,7 +240,7 @@ TcpSendZeroProbe (
**/
INTN
TcpDeliverData (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -482,8 +482,8 @@ TcpSeqAcceptable (
**/
VOID
TcpFastRecover (
- IN TCP_CB *Tcb,
- IN TCP_SEG *Seg
+ IN OUT TCP_CB *Tcb,
+ IN TCP_SEG *Seg
);
/**
@@ -495,8 +495,8 @@ TcpFastRecover (
**/
VOID
TcpFastLossRecover (
- IN TCP_CB *Tcb,
- IN TCP_SEG *Seg
+ IN OUT TCP_CB *Tcb,
+ IN TCP_SEG *Seg
);
/**
@@ -508,8 +508,8 @@ TcpFastLossRecover (
**/
VOID
TcpComputeRtt (
- IN TCP_CB *Tcb,
- IN UINT32 Measure
+ IN OUT TCP_CB *Tcb,
+ IN UINT32 Measure
);
/**
@@ -534,8 +534,8 @@ TcpTrimInWnd (
**/
VOID
TcpQueueData (
- IN TCP_CB *Tcb,
- IN NET_BUF *Nbuf
+ IN OUT TCP_CB *Tcb,
+ IN NET_BUF *Nbuf
);
/**
@@ -583,8 +583,8 @@ TcpChecksum (
**/
TCP_SEG *
TcpFormatNetbuf (
- IN TCP_CB *Tcb,
- IN NET_BUF *Nbuf
+ IN TCP_CB *Tcb,
+ IN OUT NET_BUF *Nbuf
);
/**
@@ -596,7 +596,7 @@ TcpFormatNetbuf (
**/
VOID
TcpOnAppConnect (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -620,7 +620,7 @@ TcpOnAppConsume (
**/
VOID
TcpOnAppClose (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -636,7 +636,7 @@ TcpOnAppClose (
**/
INTN
TcpOnAppSend (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -674,7 +674,7 @@ TcpResetConnection (
**/
VOID
TcpClose (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -701,9 +701,9 @@ TcpTicking (
**/
VOID
TcpSetTimer (
- IN TCP_CB *Tcb,
- IN UINT16 Timer,
- IN UINT32 TimeOut
+ IN OUT TCP_CB *Tcb,
+ IN UINT16 Timer,
+ IN UINT32 TimeOut
);
/**
@@ -715,8 +715,8 @@ TcpSetTimer (
**/
VOID
TcpClearTimer (
- IN TCP_CB *Tcb,
- IN UINT16 Timer
+ IN OUT TCP_CB *Tcb,
+ IN UINT16 Timer
);
/**
@@ -727,7 +727,7 @@ TcpClearTimer (
**/
VOID
TcpClearAllTimer (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -738,7 +738,7 @@ TcpClearAllTimer (
**/
VOID
TcpSetProbeTimer (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -749,7 +749,7 @@ TcpSetProbeTimer (
**/
VOID
TcpSetKeepaliveTimer (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -760,7 +760,7 @@ TcpSetKeepaliveTimer (
**/
VOID
TcpBackoffRto (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c
index 8443f34e04..14887a6ba2 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c
@@ -46,8 +46,8 @@ TcpSeqAcceptable (
**/
VOID
TcpFastRecover (
- IN TCP_CB *Tcb,
- IN TCP_SEG *Seg
+ IN OUT TCP_CB *Tcb,
+ IN TCP_SEG *Seg
)
{
UINT32 FlightSize;
@@ -156,8 +156,8 @@ TcpFastRecover (
**/
VOID
TcpFastLossRecover (
- IN TCP_CB *Tcb,
- IN TCP_SEG *Seg
+ IN OUT TCP_CB *Tcb,
+ IN TCP_SEG *Seg
)
{
if (TCP_SEQ_GT (Seg->Ack, Tcb->SndUna)) {
@@ -200,8 +200,8 @@ TcpFastLossRecover (
**/
VOID
TcpComputeRtt (
- IN TCP_CB *Tcb,
- IN UINT32 Measure
+ IN OUT TCP_CB *Tcb,
+ IN UINT32 Measure
)
{
INT32 Var;
@@ -369,7 +369,7 @@ TcpTrimInWnd (
**/
INTN
TcpDeliverData (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
LIST_ENTRY *Entry;
@@ -533,8 +533,8 @@ TcpDeliverData (
**/
VOID
TcpQueueData (
- IN TCP_CB *Tcb,
- IN NET_BUF *Nbuf
+ IN OUT TCP_CB *Tcb,
+ IN NET_BUF *Nbuf
)
{
TCP_SEG *Seg;
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Io.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Io.c
index e7f0df90e9..963d730714 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Io.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Io.c
@@ -26,8 +26,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@param Context Pointer to the context configured in IpIoOpen(), not used
now.
- @return None
-
**/
VOID
Tcp4RxCallback (
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c
index 1b0ae5ec54..1f478290bb 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c
@@ -52,7 +52,7 @@ CHAR16 *mTcpStateName[] = {
**/
VOID
TcpInitTcbLocal (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
//
@@ -92,9 +92,9 @@ TcpInitTcbLocal (
**/
VOID
TcpInitTcbPeer (
- IN TCP_CB *Tcb,
- IN TCP_SEG *Seg,
- IN TCP_OPTION *Opt
+ IN OUT TCP_CB *Tcb,
+ IN TCP_SEG *Seg,
+ IN TCP_OPTION *Opt
)
{
UINT16 RcvMss;
@@ -496,8 +496,8 @@ TcpGetRcvMss (
**/
VOID
TcpSetState (
- IN TCP_CB *Tcb,
- IN UINT8 State
+ IN OUT TCP_CB *Tcb,
+ IN UINT8 State
)
{
DEBUG (
@@ -578,8 +578,8 @@ TcpChecksum (
**/
TCP_SEG *
TcpFormatNetbuf (
- IN TCP_CB *Tcb,
- IN NET_BUF *Nbuf
+ IN TCP_CB *Tcb,
+ IN OUT NET_BUF *Nbuf
)
{
TCP_SEG *Seg;
@@ -674,7 +674,7 @@ TcpResetConnection (
**/
VOID
TcpOnAppConnect (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
TcpInitTcbLocal (Tcb);
@@ -694,7 +694,7 @@ TcpOnAppConnect (
**/
VOID
TcpOnAppClose (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
ASSERT (Tcb != NULL);
@@ -745,29 +745,25 @@ TcpOnAppClose (
**/
INTN
TcpOnAppSend (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
switch (Tcb->State) {
case TCP_CLOSED:
return -1;
- break;
case TCP_LISTEN:
return -1;
- break;
case TCP_SYN_SENT:
case TCP_SYN_RCVD:
return 0;
- break;
case TCP_ESTABLISHED:
case TCP_CLOSE_WAIT:
TcpToSendData (Tcb, 0);
return 0;
- break;
case TCP_FIN_WAIT_1:
case TCP_FIN_WAIT_2:
@@ -775,7 +771,7 @@ TcpOnAppSend (
case TCP_LAST_ACK:
case TCP_TIME_WAIT:
return -1;
- break;
+
default:
break;
}
@@ -869,6 +865,8 @@ TcpOnAppAbort (
case TCP_CLOSE_WAIT:
TcpResetConnection (Tcb);
break;
+ default:
+ break;
}
TcpSetState (Tcb, TCP_CLOSED);
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c
index f321635323..39c16aff29 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c
@@ -59,8 +59,8 @@ TcpGetUint32 (
**/
VOID
TcpPutUint32 (
- IN UINT8 *Buf,
- IN UINT32 Data
+ OUT UINT8 *Buf,
+ IN UINT32 Data
)
{
Data = HTONL (Data);
@@ -236,8 +236,8 @@ TcpBuildOption (
**/
INTN
TcpParseOption (
- IN TCP_HEAD *Tcp,
- IN TCP_OPTION *Option
+ IN TCP_HEAD *Tcp,
+ IN OUT TCP_OPTION *Option
)
{
UINT8 *Head;
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.h b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.h
index 727c6f2dd4..2caa1a4a05 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.h
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.h
@@ -124,8 +124,8 @@ TcpBuildOption (
**/
INTN
TcpParseOption (
- IN TCP_HEAD *Tcp,
- IN TCP_OPTION *Option
+ IN TCP_HEAD *Tcp,
+ IN OUT TCP_OPTION *Option
);
/**
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c
index 4d68c298ea..c9a1f6b106 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c
@@ -115,8 +115,8 @@ TcpRcvWinNow (
**/
UINT16
TcpComputeWnd (
- IN TCP_CB *Tcb,
- IN BOOLEAN Syn
+ IN OUT TCP_CB *Tcb,
+ IN BOOLEAN Syn
)
{
UINT32 Wnd;
@@ -286,8 +286,8 @@ SetPersistTimer:
**/
INTN
TcpTransmitSegment (
- IN TCP_CB *Tcb,
- IN NET_BUF *Nbuf
+ IN OUT TCP_CB *Tcb,
+ IN NET_BUF *Nbuf
)
{
UINT16 Len;
@@ -721,8 +721,8 @@ OnError:
**/
INTN
TcpToSendData (
- IN TCP_CB *Tcb,
- IN INTN Force
+ IN OUT TCP_CB *Tcb,
+ IN INTN Force
)
{
UINT32 Len;
@@ -909,7 +909,7 @@ OnError:
**/
VOID
TcpSendAck (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
NET_BUF *Nbuf;
@@ -948,7 +948,7 @@ TcpSendAck (
**/
INTN
TcpSendZeroProbe (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
NET_BUF *Nbuf;
@@ -987,7 +987,7 @@ TcpSendZeroProbe (
**/
VOID
TcpToSendAck (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
UINT32 TcpNow;
diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c
index 616e9e23eb..2d2c27614d 100644
--- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c
+++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c
@@ -24,7 +24,7 @@ UINT32 mTcpTick = 1000;
**/
VOID
TcpConnectTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -35,7 +35,7 @@ TcpConnectTimeout (
**/
VOID
TcpRexmitTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -46,7 +46,7 @@ TcpRexmitTimeout (
**/
VOID
TcpProbeTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -57,7 +57,7 @@ TcpProbeTimeout (
**/
VOID
TcpKeepaliveTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -68,7 +68,7 @@ TcpKeepaliveTimeout (
**/
VOID
TcpFinwait2Timeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
/**
@@ -79,7 +79,7 @@ TcpFinwait2Timeout (
**/
VOID
Tcp2MSLTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
);
TCP_TIMER_HANDLER mTcpTimerHandler[TCP_TIMER_NUMBER] = {
@@ -99,7 +99,7 @@ TCP_TIMER_HANDLER mTcpTimerHandler[TCP_TIMER_NUMBER] = {
**/
VOID
TcpClose (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
NetbufFreeList (&Tcb->SndQue);
@@ -117,7 +117,7 @@ TcpClose (
**/
VOID
TcpConnectTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
if (!TCP_CONNECTED (Tcb->State)) {
@@ -149,7 +149,7 @@ TcpConnectTimeout (
**/
VOID
TcpRexmitTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
UINT32 FlightSize;
@@ -200,7 +200,7 @@ TcpRexmitTimeout (
**/
VOID
TcpProbeTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
//
@@ -228,7 +228,7 @@ TcpProbeTimeout (
**/
VOID
TcpKeepaliveTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
Tcb->KeepAliveProbes++;
@@ -259,7 +259,7 @@ TcpKeepaliveTimeout (
**/
VOID
TcpFinwait2Timeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
DEBUG ((EFI_D_WARN, "TcpFinwait2Timeout: connection closed "
@@ -277,7 +277,7 @@ TcpFinwait2Timeout (
**/
VOID
Tcp2MSLTimeout (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
DEBUG ((EFI_D_WARN, "Tcp2MSLTimeout: connection closed "
@@ -296,7 +296,7 @@ Tcp2MSLTimeout (
**/
VOID
TcpUpdateTimer (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
UINT16 Index;
@@ -330,9 +330,9 @@ TcpUpdateTimer (
**/
VOID
TcpSetTimer (
- IN TCP_CB *Tcb,
- IN UINT16 Timer,
- IN UINT32 TimeOut
+ IN OUT TCP_CB *Tcb,
+ IN UINT16 Timer,
+ IN UINT32 TimeOut
)
{
TCP_SET_TIMER (Tcb->EnabledTimer, Timer);
@@ -351,8 +351,8 @@ TcpSetTimer (
**/
VOID
TcpClearTimer (
- IN TCP_CB *Tcb,
- IN UINT16 Timer
+ IN OUT TCP_CB *Tcb,
+ IN UINT16 Timer
)
{
TCP_CLEAR_TIMER (Tcb->EnabledTimer, Timer);
@@ -368,7 +368,7 @@ TcpClearTimer (
**/
VOID
TcpClearAllTimer (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
Tcb->EnabledTimer = 0;
@@ -384,7 +384,7 @@ TcpClearAllTimer (
**/
VOID
TcpSetProbeTimer (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
if (!TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_PROBE)) {
@@ -414,7 +414,7 @@ TcpSetProbeTimer (
**/
VOID
TcpSetKeepaliveTimer (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_KEEPALIVE)) {
@@ -450,7 +450,7 @@ TcpSetKeepaliveTimer (
**/
VOID
TcpBackoffRto (
- IN TCP_CB *Tcb
+ IN OUT TCP_CB *Tcb
)
{
//
@@ -553,6 +553,10 @@ TcpTickingDpc (
}
}
}
+
+ //
+ // If the Tcb still exist or some timer is set, update the timer
+ //
if (Index == TCP_TIMER_NUMBER) {
TcpUpdateTimer (Tcb);
}