NetworkPkg/TcpDxe/TcpIo.c File Reference


Functions

VOID EFIAPI TcpRxCallback (IN EFI_STATUS Status, IN UINT8 IcmpErr, IN EFI_NET_SESSION_DATA *NetSession, IN NET_BUF *Pkt, IN VOID *Context)
INTN TcpSendIpPacket (IN TCP_CB *Tcb, IN NET_BUF *Nbuf, IN EFI_IP_ADDRESS *Src, IN EFI_IP_ADDRESS *Dest, IN UINT8 Version)
EFI_STATUS Tcp6RefreshNeighbor (IN TCP_CB *Tcb, IN EFI_IP_ADDRESS *Neighbor, IN UINT32 Timeout)

Detailed Description

Implementation of I/O interfaces between TCP and IpIoLib.

Copyright (c) 2009 - 2012, 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.


Function Documentation

EFI_STATUS Tcp6RefreshNeighbor ( IN TCP_CB Tcb,
IN EFI_IP_ADDRESS *  Neighbor,
IN UINT32  Timeout 
)

Refresh the remote peer's Neighbor Cache State if already exists.

Parameters:
[in] Tcb Pointer to the TCP_CB of this TCP instance.
[in] Neighbor Source address of the TCP segment.
[in] Timeout Time in 100-ns units that this entry will remain in the neighbor cache. A value of zero means that the entry is permanent. A value of non-zero means that the entry is dynamic and will be deleted after Timeout.
Return values:
EFI_SUCCESS Successfully updated the neighbor relationship.
EFI_NOT_STARTED The IpIo is not configured.
EFI_INVALID_PARAMETER Any input parameter is invalid.
EFI_OUT_OF_RESOURCES Failed to allocate some resources.
EFI_NOT_FOUND This entry is not in the neighbor table.

References _TCP_SERVICE_DATA::IpIo, _TCP_SOCKET::ProtoReserved, and _TCP_PROTO_DATA::TcpService.

Referenced by TcpInput().

VOID EFIAPI TcpRxCallback ( IN EFI_STATUS  Status,
IN UINT8  IcmpErr,
IN EFI_NET_SESSION_DATA *  NetSession,
IN NET_BUF *  Pkt,
IN VOID *  Context 
)

Packet receive callback function provided to IP_IO, used to call the proper function to handle the packet received by IP.

Parameters:
[in] Status Result of the receive request.
[in] IcmpErr Valid when Status is EFI_ICMP_ERROR.
[in] NetSession The IP session for the received packet.
[in] Pkt Packet received.
[in] Context The data provided by the user for the received packet when the callback is registered in IP_IO_OPEN_DATA::RcvdContext. This is an optional parameter that may be NULL.

References TcpIcmpInput(), and TcpInput().

Referenced by TcpCreateService().

INTN TcpSendIpPacket ( IN TCP_CB Tcb,
IN NET_BUF *  Nbuf,
IN EFI_IP_ADDRESS *  Src,
IN EFI_IP_ADDRESS *  Dest,
IN UINT8  Version 
)

Send the segment to IP via IpIo function.

Parameters:
[in] Tcb Pointer to the TCP_CB of this TCP instance.
[in] Nbuf Pointer to the TCP segment to be sent.
[in] Src Source address of the TCP segment.
[in] Dest Destination address of the TCP segment.
[in] Version IP_VERSION_4 or IP_VERSION_6
Return values:
0 The segment was sent out successfully.
-1 The segment failed to send.

References _TCP_SERVICE_DATA::IpIo, _TCP_SOCKET::ProtoReserved, and _TCP_PROTO_DATA::TcpService.

Referenced by TcpResetConnection(), TcpSendReset(), and TcpTransmitSegment().


Generated on Mon Sep 28 08:49:06 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1