TianoCore EDK2 master
|
#include "TcpMain.h"
Go to the source code of this file.
Functions | |
UINT32 | TcpRcvWinOld (IN TCP_CB *Tcb) |
UINT32 | TcpRcvWinNow (IN TCP_CB *Tcb) |
UINT16 | TcpComputeWnd (IN OUT TCP_CB *Tcb, IN BOOLEAN Syn) |
TCP_SEQNO | TcpGetMaxSndNxt (IN TCP_CB *Tcb) |
UINT32 | TcpDataToSend (IN TCP_CB *Tcb, IN INTN Force) |
INTN | TcpTransmitSegment (IN OUT TCP_CB *Tcb, IN NET_BUF *Nbuf) |
NET_BUF * | TcpGetSegmentSndQue (IN TCP_CB *Tcb, IN TCP_SEQNO Seq, IN UINT32 Len) |
NET_BUF * | TcpGetSegmentSock (IN TCP_CB *Tcb, IN TCP_SEQNO Seq, IN UINT32 Len) |
NET_BUF * | TcpGetSegment (IN TCP_CB *Tcb, IN TCP_SEQNO Seq, IN UINT32 Len) |
INTN | TcpRetransmit (IN TCP_CB *Tcb, IN TCP_SEQNO Seq) |
INTN | TcpCheckSndQue (IN LIST_ENTRY *Head) |
INTN | TcpToSendData (IN OUT TCP_CB *Tcb, IN INTN Force) |
VOID | TcpSendAck (IN OUT TCP_CB *Tcb) |
INTN | TcpSendZeroProbe (IN OUT TCP_CB *Tcb) |
VOID | TcpToSendAck (IN OUT TCP_CB *Tcb) |
INTN | TcpSendReset (IN TCP_CB *Tcb, IN TCP_HEAD *Head, IN INT32 Len, IN EFI_IP_ADDRESS *Local, IN EFI_IP_ADDRESS *Remote, IN UINT8 Version) |
INTN | TcpVerifySegment (IN NET_BUF *Nbuf) |
Variables | |
UINT8 | mTcpOutFlag [] |
TCP output process routines.
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file TcpOutput.c.
INTN TcpCheckSndQue | ( | IN LIST_ENTRY * | Head | ) |
Verify that all the segments in SndQue are in good shape.
[in] | Head | Pointer to the head node of the SndQue. |
0 | At least one segment is broken. |
1 | All segments in the specific queue are in good shape. |
Definition at line 725 of file TcpOutput.c.
Compute the value to fill in the window size field of the outgoing segment.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Syn | The flag to indicate whether the outgoing segment is a SYN segment. |
Definition at line 106 of file TcpOutput.c.
Compute how much data to send.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Force | If TRUE, to ignore the sender's SWS avoidance algorithm and send out data by force. |
Definition at line 166 of file TcpOutput.c.
Get the maximum SndNxt.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
Definition at line 137 of file TcpOutput.c.
Get a segment starting from sequence Seq of a maximum length of Len.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Seq | The sequence number of the segment. |
[in] | Len | The maximum length of the segment. |
Definition at line 594 of file TcpOutput.c.
Get a segment from the Tcb's SndQue.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Seq | The sequence number of the segment. |
[in] | Len | The maximum length of the segment. |
Definition at line 391 of file TcpOutput.c.
Get a segment from the Tcb's socket buffer.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Seq | The sequence number of the segment. |
[in] | Len | The maximum length of the segment. |
Definition at line 530 of file TcpOutput.c.
Compute the current receive window.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
Definition at line 62 of file TcpOutput.c.
Compute the sequence space left in the old receive window.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
Definition at line 35 of file TcpOutput.c.
Retransmit the segment from sequence Seq.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Seq | The sequence number of the segment to be retransmitted. |
0 | Retransmission succeeded. |
-1 | Error condition occurred. |
Definition at line 632 of file TcpOutput.c.
Send an ACK immediately.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
Definition at line 967 of file TcpOutput.c.
INTN TcpSendReset | ( | IN TCP_CB * | Tcb, |
IN TCP_HEAD * | Head, | ||
IN INT32 | Len, | ||
IN EFI_IP_ADDRESS * | Local, | ||
IN EFI_IP_ADDRESS * | Remote, | ||
IN UINT8 | Version | ||
) |
Send a RESET segment in response to the segment received.
[in] | Tcb | Pointer to the TCP_CB of this TCP instance. May be NULL. |
[in] | Head | TCP header of the segment that triggers the reset. |
[in] | Len | Length of the segment that triggers the reset. |
[in] | Local | Local IP address. |
[in] | Remote | Remote peer's IP address. |
[in] | Version | IP_VERSION_4 indicates TCP is running on IP4 stack, IP_VERSION_6 indicates TCP is running on IP6 stack. |
0 | A reset was sent or there is no need to send it. |
-1 | No reset is sent. |
Definition at line 1095 of file TcpOutput.c.
Send a zero probe segment. It can be used by keepalive and zero window probe.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
0 | The zero probe segment was sent out successfully. |
other | An error condition occurred. |
Definition at line 1005 of file TcpOutput.c.
Check whether to send an ACK or delayed ACK.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
Definition at line 1043 of file TcpOutput.c.
Check whether to send data/SYN/FIN and piggyback an ACK.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Force | If TRUE, ignore the sender's SWS avoidance algorithm and send out data by force. |
Definition at line 776 of file TcpOutput.c.
Build the TCP header of the TCP segment and transmit the segment by IP.
[in,out] | Tcb | Pointer to the TCP_CB of this TCP instance. |
[in] | Nbuf | Pointer to the buffer containing the segment to be sent out. |
0 | The segment was sent out successfully. |
-1 | An error condition occurred. |
Definition at line 271 of file TcpOutput.c.
Verify that the segment is in good shape.
[in] | Nbuf | The buffer that contains the segment to be checked. |
0 | The segment is broken. |
1 | The segment is in good shape. |
Definition at line 1184 of file TcpOutput.c.
UINT8 mTcpOutFlag[] |
Definition at line 12 of file TcpOutput.c.