15 #ifndef __EFI_TCP6_PROTOCOL_H__ 16 #define __EFI_TCP6_PROTOCOL_H__ 23 #define EFI_TCP6_SERVICE_BINDING_PROTOCOL_GUID \ 25 0xec20eb79, 0x6c1a, 0x4664, {0x9a, 0x0d, 0xd2, 0xe4, 0xcc, 0x16, 0xd6, 0x64 } \ 28 #define EFI_TCP6_PROTOCOL_GUID \ 30 0x46e44855, 0xbd60, 0x4ab7, {0xab, 0x0d, 0xa6, 0x79, 0xb9, 0x44, 0x7d, 0x77 } \ UINT32 DataLength
When calling Receive() function, it is the byte counts of all Fragmentbuffer in FragmentTable allocat...
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
EFI_TCP6_IO_TOKEN returns When transmission finishes or meets any unexpected error.
EFI_TCP6_COMPLETION_TOKEN CompletionToken
The Status in the CompletionToken will be set to one of the following values if the active open succe...
EFI_TCP6_RECEIVE_DATA When TCPv6 driver wants to deliver received data to the application,...
BOOLEAN ActiveFlag
Set it to TRUE to initiate an active open.
BOOLEAN EnablePathMtuDiscovery
Set it to TRUE to enable path MTU discovery as defined in RFC 1191.
BOOLEAN Push
Push If TRUE, data must be transmitted promptly, and the PUSH bit in the last TCP segment created wil...
128 bit buffer containing a unique identifier value.
UINT8 TrafficClass
TrafficClass field in transmitted IPv6 packets.
EFI_TCP6_TRANSMIT_DATA * TxData
When this token is used for transmitting, TxData is a pointer to EFI_TCP6_TRANSMIT_DATA.
EFI_STATUS(EFIAPI * EFI_TCP6_ACCEPT)(IN EFI_TCP6_PROTOCOL *This, IN EFI_TCP6_LISTEN_TOKEN *ListenToken)
Listen on the passive instance to accept an incoming connection request.
VOID * EFI_EVENT
Handle to an event structure.
EFI_TCP6_COMPLETION_TOKEN CompletionToken
The Status in CompletionToken will be set to the following value if accept finishes: EFI_SUCCESS: A r...
EFI_TCP6_PROTOCOL defines the EFI TCPv6 Protocol child to be used by any network drivers or applicati...
EFI_STATUS(EFIAPI * EFI_TCP6_GET_MODE_DATA)(IN EFI_TCP6_PROTOCOL *This, OUT EFI_TCP6_CONNECTION_STATE *Tcp6State OPTIONAL, OUT EFI_TCP6_CONFIG_DATA *Tcp6ConfigData OPTIONAL, OUT EFI_IP6_MODE_DATA *Ip6ModeData OPTIONAL, OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL)
Get the current operational status.
EFI_TCP6_RECEIVE_DATA * RxData
When this token is used for receiving, RxData is a pointer to EFI_TCP6_RECEIVE_DATA.
EFI_IPv6_ADDRESS StationAddress
The local IP address assigned to this TCP instance.
EFI_STATUS(EFIAPI * EFI_TCP6_RECEIVE)(IN EFI_TCP6_PROTOCOL *This, IN EFI_TCP6_IO_TOKEN *Token)
Places an asynchronous receive request into the receiving queue.
BOOLEAN UrgentFlag
Whether the data is urgent.
UINT16 StationPort
The local port number to which this EFI TCPv6 Protocol instance is bound.
UINT32 SendBufferSize
The size of the TCP send buffer.
UINT8 HopLimit
HopLimit field in transmitted IPv6 packets.
UINT16 RemotePort
The remote port to which this EFI TCPv6 Protocol instance connects or from which connection request w...
UINT32 DataLength
Length of the data in the fragments.
UINT32 DataRetries
The number of times TCP will attempt to retransmit a packet on an established connection.
EFI_TCP6_COMPLETION_TOKEN CompletionToken
When close finishes or meets any unexpected error it will be set to one of the following values: EFI_...
EFI_HANDLE InstanceHandle
The EFI TCPv6 Protocol instance handle that is using this address/port pair.
BOOLEAN EnableSelectiveAck
Set it to TRUE to enable selective acknowledge mechanism described in RFC 2018.
UINT32 MaxSynBackLog
The length of incoming connect request queue for a passive instance.
UINT16 RemotePort
The remote port number in host byte order.
BOOLEAN EnableWindowScaling
Set it to TRUE to enable TCP window scale option as defined in RFC7323.
BOOLEAN EnableTimeStamp
Set it to TRUE to enable TCP timestamps option as defined in RFC7323.
UINT32 FragmentCount
Number of fragments.
BOOLEAN EnableNagle
Set it to TRUE to enable the Nagle algorithm as defined in RFC896.
BOOLEAN AbortOnClose
Abort the TCP connection on close instead of the standard TCP close process when it is set to TRUE.
UINT32 TimeWaitTimeout
How many seconds to wait in TIME_WAIT state before the TCP instance is closed.
UINT32 KeepAliveInterval
The number of seconds between TCP keep-alive probes after the periodical keep-alive probe if no respo...
UINT32 FinTimeout
How many seconds to wait in the FIN_WAIT_2 states for a final FIN flag before the TCP instance is clo...
BOOLEAN Urgent
The data in the fragment table are urgent and urgent point is in effect if TRUE.
EFI_TCP6_CONNECTION_TOKEN will be set if the active open succeeds or an unexpected error happens.
EFI_HANDLE DriverHandle
The handle of the driver that creates this entry.
This file defines the EFI IPv6 (Internet Protocol version 6) Protocol interface.
EFI_TCP6_COMPLETION_TOKEN CompletionToken
When transmission finishes or meets any unexpected error it will be set to one of the following value...
EFI_TCP6_SERVICE_POINT is deprecated in the UEFI 2.4B and should not be used any more.
EFI_TCP6_VARIABLE_DATA is deprecated in the UEFI 2.4B and should not be used any more.
EFI_IPv6_ADDRESS RemoteAddress
The remote IPv6 address.
FILE_LICENCE(BSD2_PATENT)
EFI_TCP6_CONNECTION_STATE
EFI_TCP6_CONNECTION_STATE.
#define VOID
Undeclared type.
EFI_TCP6_GET_MODE_DATA GetModeData
UINT32 FragmentCount
Number of fragments.
EFI_TCP6_TRANSMIT Transmit
EFI_STATUS(EFIAPI * EFI_TCP6_CLOSE)(IN EFI_TCP6_PROTOCOL *This, IN EFI_TCP6_CLOSE_TOKEN *CloseToken)
Disconnecting a TCP connection gracefully or reset a TCP connection.
EFI_IPv6_ADDRESS RemoteAddress
The remote IP address to which this EFI TCPv6 Protocol instance is connected.
EFI_EVENT Event
The Event to signal after request is finished and Status field is updated by the EFI TCPv6 Protocol d...
UINT32 ConnectionTimeout
The maximum seconds a TCP instance will wait for before a TCP connection established.
EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL as defined in UEFI 2.0.
EFI_TCP6_FRAGMENT_DATA allows multiple receive or transmit buffers to be specified.
UINT32 FragmentLength
Length of data buffer in the fragment.
VOID * FragmentBuffer
Pointer to the data buffer in the fragment.
EFI_STATUS(EFIAPI * EFI_TCP6_TRANSMIT)(IN EFI_TCP6_PROTOCOL *This, IN EFI_TCP6_IO_TOKEN *Token)
Queues outgoing data into the transmit queue.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
EFI_GUID gEfiTcp6ProtocolGuid
EFI_STATUS(EFIAPI * EFI_TCP6_CONNECT)(IN EFI_TCP6_PROTOCOL *This, IN EFI_TCP6_CONNECTION_TOKEN *ConnectionToken)
Initiate a nonblocking TCP connection request for an active TCP instance.
EFI_TCP6_COMPLETION_TOKEN is used as a common header for various asynchronous tokens.
UINT16 LocalPort
The local port number in host byte order.
EFI_TCP6_CONFIGURE Configure
EFI_TCP6_CLOSE_TOKEN returns when close operation finishes.
EFI_TCP6_LISTEN_TOKEN returns when list operation finishes.
EFI_GUID gEfiTcp6ServiceBindingProtocolGuid
UINT32 ServiceCount
The number of address/port pairs following this data structure.
EFI_TCP6_ACCESS_POINT AccessPoint
Used to specify TCP communication end settings for a TCP instance.
EFI_STATUS(EFIAPI * EFI_TCP6_CONFIGURE)(IN EFI_TCP6_PROTOCOL *This, IN EFI_TCP6_CONFIG_DATA *Tcp6ConfigData OPTIONAL)
Initialize or brutally reset the operational parameters for this EFI TCPv6 instance.
EFI_TCP6_TRANSMIT_DATA The EFI TCPv6 Protocol user must fill this data structure before sending a pac...
EFI_STATUS(EFIAPI * EFI_TCP6_CANCEL)(IN EFI_TCP6_PROTOCOL *This, IN EFI_TCP6_COMPLETION_TOKEN *Token OPTIONAL)
Abort an asynchronous connection, listen, transmission or receive request.
EFI_STATUS Status
The result of the completed operation.
EFI_STATUS(EFIAPI * EFI_TCP6_POLL)(IN EFI_TCP6_PROTOCOL *This)
Poll to receive incoming data and transmit outgoing segments.
UINT32 KeepAliveTime
The number of seconds a connection needs to be idle before TCP sends out periodical keep-alive probes...
EFI_TCP6_OPTION * ControlOption
Used to configure the advance TCP option for a connection.
EFI_HANDLE NewChildHandle
UINT32 KeepAliveProbes
The maximum number of TCP keep-alive probes to send before giving up and resetting the connection if ...
UINT32 ReceiveBufferSize
The size of the TCP receive buffer.
EFI_IPv6_ADDRESS LocalAddress
The local IPv6 address to which this TCP instance is bound.