Functions | |
VOID | TcpConnectTimeout (IN OUT TCP_CB *Tcb) |
VOID | TcpRexmitTimeout (IN OUT TCP_CB *Tcb) |
VOID | TcpProbeTimeout (IN OUT TCP_CB *Tcb) |
VOID | TcpKeepaliveTimeout (IN OUT TCP_CB *Tcb) |
VOID | TcpFinwait2Timeout (IN OUT TCP_CB *Tcb) |
VOID | Tcp2MSLTimeout (IN OUT TCP_CB *Tcb) |
VOID | TcpClose (IN OUT TCP_CB *Tcb) |
VOID | TcpBackoffRto (IN OUT TCP_CB *Tcb) |
VOID | TcpUpdateTimer (IN OUT TCP_CB *Tcb) |
VOID | TcpSetTimer (IN OUT TCP_CB *Tcb, IN UINT16 Timer, IN UINT32 TimeOut) |
VOID | TcpClearTimer (IN OUT TCP_CB *Tcb, IN UINT16 Timer) |
VOID | TcpClearAllTimer (IN OUT TCP_CB *Tcb) |
VOID | TcpSetProbeTimer (IN OUT TCP_CB *Tcb) |
VOID | TcpSetKeepaliveTimer (IN OUT TCP_CB *Tcb) |
VOID EFIAPI | TcpTickingDpc (IN VOID *Context) |
VOID EFIAPI | TcpTicking (IN EFI_EVENT Event, IN VOID *Context) |
Variables | |
UINT32 | mTcpTick = 1000 |
TCP_TIMER_HANDLER | mTcpTimerHandler [TCP_TIMER_NUMBER] |
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
VOID Tcp2MSLTimeout | ( | IN OUT TCP_CB * | Tcb | ) |
Timeout handler for 2MSL timer.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References TcpClose().
VOID TcpBackoffRto | ( | IN OUT TCP_CB * | Tcb | ) |
Backoff the RTO.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References TCP_FOLD_RTT, TCP_RTO_MAX, and TCP_RTO_MIN.
Referenced by TcpRexmitTimeout().
VOID TcpClearAllTimer | ( | IN OUT TCP_CB * | Tcb | ) |
Clear all TCP timers.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References TcpUpdateTimer().
Referenced by TcpDeliverData(), and TcpInput().
VOID TcpClearTimer | ( | IN OUT TCP_CB * | Tcb, | |
IN UINT16 | Timer | |||
) |
Clear one TCP timer.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Timer | The index of the timer to be cleared. |
References TCP_CLEAR_TIMER, and TcpUpdateTimer().
Referenced by TcpInput().
VOID TcpClose | ( | IN OUT TCP_CB * | Tcb | ) |
Close the TCP connection.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References TCP_CLOSED, and TcpSetState().
Referenced by Tcp2MSLTimeout(), TcpConnectTimeout(), TcpDeliverData(), TcpFinwait2Timeout(), TcpIcmpInput(), TcpInput(), TcpKeepaliveTimeout(), TcpOnAppClose(), and TcpRexmitTimeout().
VOID TcpConnectTimeout | ( | IN OUT TCP_CB * | Tcb | ) |
Connect timeout handler.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References SOCK_ERROR, TCP_CONNECTED, TCP_SYN_RCVD, TcpClose(), and TcpResetConnection().
VOID TcpFinwait2Timeout | ( | IN OUT TCP_CB * | Tcb | ) |
Timeout handler for FIN_WAIT_2 timer.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References TcpClose().
VOID TcpKeepaliveTimeout | ( | IN OUT TCP_CB * | Tcb | ) |
Timeout handler for keepalive timer.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References SOCK_ERROR, TcpClose(), TcpSendZeroProbe(), and TcpSetKeepaliveTimer().
VOID TcpProbeTimeout | ( | IN OUT TCP_CB * | Tcb | ) |
Timeout handler for window probe timer.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References TCP_TIMER_ON, TCP_TIMER_REXMIT, TcpDataToSend(), TcpSendZeroProbe(), TcpSetProbeTimer(), and TcpToSendData().
VOID TcpRexmitTimeout | ( | IN OUT TCP_CB * | Tcb | ) |
Timeout handler for TCP retransmission timer.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References SOCK_ERROR, TCP_CLEAR_FLG, TCP_CONGEST_LOSS, TCP_CTRL_RTT_ON, TCP_SUB_SEQ, TCP_TIMER_CONNECT, TCP_TIMER_ON, TCP_TIMER_REXMIT, TcpBackoffRto(), TcpClose(), TcpRetransmit(), and TcpSetTimer().
VOID TcpSetKeepaliveTimer | ( | IN OUT TCP_CB * | Tcb | ) |
Enable the keepalive timer and set the timeout value.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References TCP_CTRL_NO_KEEPALIVE, TCP_FLG_ON, TCP_TIMER_KEEPALIVE, TCP_TIMER_ON, and TcpSetTimer().
Referenced by TcpInput(), and TcpKeepaliveTimeout().
VOID TcpSetProbeTimer | ( | IN OUT TCP_CB * | Tcb | ) |
Enable the window prober timer and set the timeout value.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References TCP_RTO_MAX, TCP_RTO_MIN, TCP_TIMER_PROBE, and TcpSetTimer().
Referenced by TcpDataToSend(), TcpInput(), and TcpProbeTimeout().
VOID TcpSetTimer | ( | IN OUT TCP_CB * | Tcb, | |
IN UINT16 | Timer, | |||
IN UINT32 | TimeOut | |||
) |
Enable a TCP timer.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Timer | The index of the timer to be enabled. |
[in] | TimeOut | The timeout value of this timer. |
References mTcpTick, TCP_SET_TIMER, and TcpUpdateTimer().
Referenced by TcpDeliverData(), TcpInput(), TcpOnAppConnect(), TcpRexmitTimeout(), TcpSetKeepaliveTimer(), TcpSetProbeTimer(), and TcpToSendData().
VOID EFIAPI TcpTicking | ( | IN EFI_EVENT | Event, | |
IN VOID * | Context | |||
) |
Heart beat timer handler, queues the DPC at TPL_CALLBACK.
[in] | Event | Timer event signaled, ignored. |
[in] | Context | Context of the timer event, ignored. |
References TcpTickingDpc().
Referenced by TcpCreateTimer().
VOID EFIAPI TcpTickingDpc | ( | IN VOID * | Context | ) |
Heart beat timer handler.
[in] | Context | Context of the timer event, ignored. |
References _TCP_CONTROL_BLOCK::CtrlFlag, _TCP_CONTROL_BLOCK::DelayedAck, _TCP_CONTROL_BLOCK::EnabledTimer, _TCP_CONTROL_BLOCK::Idle, _TCP_CONTROL_BLOCK::IpInfo, mTcpGlobalIss, mTcpRunQue, mTcpTick, mTcpTimerHandler, _TCP_CONTROL_BLOCK::NextExpire, _TCP_CONTROL_BLOCK::RttMeasure, _TCP_CONTROL_BLOCK::State, TCP_CLEAR_TIMER, TCP_CLOSED, TCP_CTRL_RTT_ON, TCP_CTRL_TIMER_ON, TCP_FLG_ON, TCP_ISS_INCREMENT_2, TCP_TIME_LEQ, TCP_TIMER_NUMBER, TCP_TIMER_ON, TcpSendAck(), TcpUpdateTimer(), _TCP_CONTROL_BLOCK::Tick, and _TCP_CONTROL_BLOCK::Timer.
Referenced by TcpTicking().
VOID TcpUpdateTimer | ( | IN OUT TCP_CB * | Tcb | ) |
Update the timer status and the next expire time according to the timers to expire in a specific future time slot.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
References mTcpTick, TCP_CLEAR_FLG, TCP_CTRL_TIMER_ON, TCP_EXPIRE_TIME, TCP_SET_FLG, TCP_SUB_TIME, TCP_TIME_LT, TCP_TIMER_NUMBER, and TCP_TIMER_ON.
Referenced by TcpClearAllTimer(), TcpClearTimer(), TcpSetTimer(), and TcpTickingDpc().
UINT32 mTcpTick = 1000 |
Referenced by TcpBuildOption(), TcpInput(), TcpPawsOK(), TcpSetTimer(), TcpSynBuildOption(), TcpTickingDpc(), and TcpUpdateTimer().
TCP_TIMER_HANDLER mTcpTimerHandler[TCP_TIMER_NUMBER] |
Initial value:
{ TcpConnectTimeout, TcpRexmitTimeout, TcpProbeTimeout, TcpKeepaliveTimeout, TcpFinwait2Timeout, Tcp2MSLTimeout, }
Referenced by TcpTickingDpc().