summaryrefslogtreecommitdiffstats
path: root/MdePkg/Include/Protocol/Tcp6.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Protocol/Tcp6.h')
-rw-r--r--MdePkg/Include/Protocol/Tcp6.h136
1 files changed, 67 insertions, 69 deletions
diff --git a/MdePkg/Include/Protocol/Tcp6.h b/MdePkg/Include/Protocol/Tcp6.h
index 7f22c421c7..a8787dd3af 100644
--- a/MdePkg/Include/Protocol/Tcp6.h
+++ b/MdePkg/Include/Protocol/Tcp6.h
@@ -28,7 +28,6 @@
0x46e44855, 0xbd60, 0x4ab7, {0xab, 0x0d, 0xa6, 0x79, 0xb9, 0x44, 0x7d, 0x77 } \
}
-
typedef struct _EFI_TCP6_PROTOCOL EFI_TCP6_PROTOCOL;
///
@@ -40,27 +39,27 @@ typedef struct {
/// The EFI TCPv6 Protocol instance handle that is using this
/// address/port pair.
///
- EFI_HANDLE InstanceHandle;
+ EFI_HANDLE InstanceHandle;
///
/// The local IPv6 address to which this TCP instance is bound. Set
/// to 0::/128, if this TCP instance is configured to listen on all
/// available source addresses.
///
- EFI_IPv6_ADDRESS LocalAddress;
+ EFI_IPv6_ADDRESS LocalAddress;
///
/// The local port number in host byte order.
///
- UINT16 LocalPort;
+ UINT16 LocalPort;
///
/// The remote IPv6 address. It may be 0::/128 if this TCP instance is
/// not connected to any remote host.
///
- EFI_IPv6_ADDRESS RemoteAddress;
+ EFI_IPv6_ADDRESS RemoteAddress;
///
/// The remote port number in host byte order. It may be zero if this
/// TCP instance is not connected to any remote host.
///
- UINT16 RemotePort;
+ UINT16 RemotePort;
} EFI_TCP6_SERVICE_POINT;
///
@@ -68,9 +67,9 @@ typedef struct {
/// The definition in here is only present to provide backwards compatability.
///
typedef struct {
- EFI_HANDLE DriverHandle; ///< The handle of the driver that creates this entry.
- UINT32 ServiceCount; ///< The number of address/port pairs following this data structure.
- EFI_TCP6_SERVICE_POINT Services[1]; ///< List of address/port pairs that are currently in use.
+ EFI_HANDLE DriverHandle; ///< The handle of the driver that creates this entry.
+ UINT32 ServiceCount; ///< The number of address/port pairs following this data structure.
+ EFI_TCP6_SERVICE_POINT Services[1]; ///< List of address/port pairs that are currently in use.
} EFI_TCP6_VARIABLE_DATA;
///
@@ -85,13 +84,13 @@ typedef struct {
/// it must be one of the configured IP addresses in the underlying
/// IPv6 driver.
///
- EFI_IPv6_ADDRESS StationAddress;
+ EFI_IPv6_ADDRESS StationAddress;
///
/// The local port number to which this EFI TCPv6 Protocol instance
/// is bound. If the instance doesn't care the local port number, set
/// StationPort to zero to use an ephemeral port.
///
- UINT16 StationPort;
+ UINT16 StationPort;
///
/// The remote IP address to which this EFI TCPv6 Protocol instance
/// is connected. If ActiveFlag is FALSE (i.e. a passive TCPv6
@@ -103,7 +102,7 @@ typedef struct {
/// can be set to zero and means that incoming connection requests
/// from any address will be accepted.
///
- EFI_IPv6_ADDRESS RemoteAddress;
+ EFI_IPv6_ADDRESS RemoteAddress;
///
/// The remote port to which this EFI TCPv6 Protocol instance
/// connects or from which connection request will be accepted by
@@ -112,12 +111,12 @@ typedef struct {
/// any port will be accepted. Its value can not be zero when
/// ActiveFlag is TRUE.
///
- UINT16 RemotePort;
+ UINT16 RemotePort;
///
/// Set it to TRUE to initiate an active open. Set it to FALSE to
/// initiate a passive open to act as a server.
///
- BOOLEAN ActiveFlag;
+ BOOLEAN ActiveFlag;
} EFI_TCP6_ACCESS_POINT;
///
@@ -127,28 +126,28 @@ typedef struct {
///
/// The size of the TCP receive buffer.
///
- UINT32 ReceiveBufferSize;
+ UINT32 ReceiveBufferSize;
///
/// The size of the TCP send buffer.
///
- UINT32 SendBufferSize;
+ UINT32 SendBufferSize;
///
/// The length of incoming connect request queue for a passive
/// instance. When set to zero, the value is implementation specific.
///
- UINT32 MaxSynBackLog;
+ UINT32 MaxSynBackLog;
///
/// The maximum seconds a TCP instance will wait for before a TCP
/// connection established. When set to zero, the value is
/// implementation specific.
///
- UINT32 ConnectionTimeout;
+ UINT32 ConnectionTimeout;
///
- ///The number of times TCP will attempt to retransmit a packet on
- ///an established connection. When set to zero, the value is
- ///implementation specific.
+ /// The number of times TCP will attempt to retransmit a packet on
+ /// an established connection. When set to zero, the value is
+ /// implementation specific.
///
- UINT32 DataRetries;
+ UINT32 DataRetries;
///
/// How many seconds to wait in the FIN_WAIT_2 states for a final
/// FIN flag before the TCP instance is closed. This timeout is in
@@ -158,61 +157,61 @@ typedef struct {
/// it should be disabled because the FIN_WAIT_2 timer itself is
/// against the standard. The default value is 60.
///
- UINT32 FinTimeout;
+ UINT32 FinTimeout;
///
/// How many seconds to wait in TIME_WAIT state before the TCP
/// instance is closed. The timer is disabled completely to provide a
/// method to close the TCP connection quickly if it is set to zero. It
/// is against the related RFC documents.
///
- UINT32 TimeWaitTimeout;
+ UINT32 TimeWaitTimeout;
///
/// The maximum number of TCP keep-alive probes to send before
/// giving up and resetting the connection if no response from the
/// other end. Set to zero to disable keep-alive probe.
///
- UINT32 KeepAliveProbes;
+ UINT32 KeepAliveProbes;
///
/// The number of seconds a connection needs to be idle before TCP
/// sends out periodical keep-alive probes. When set to zero, the
/// value is implementation specific. It should be ignored if keep-
/// alive probe is disabled.
///
- UINT32 KeepAliveTime;
+ UINT32 KeepAliveTime;
///
/// The number of seconds between TCP keep-alive probes after the
/// periodical keep-alive probe if no response. When set to zero, the
/// value is implementation specific. It should be ignored if keep-
/// alive probe is disabled.
///
- UINT32 KeepAliveInterval;
+ UINT32 KeepAliveInterval;
///
/// Set it to TRUE to enable the Nagle algorithm as defined in
/// RFC896. Set it to FALSE to disable it.
///
- BOOLEAN EnableNagle;
+ BOOLEAN EnableNagle;
///
/// Set it to TRUE to enable TCP timestamps option as defined in
/// RFC1323. Set to FALSE to disable it.
///
- BOOLEAN EnableTimeStamp;
+ BOOLEAN EnableTimeStamp;
///
/// Set it to TRUE to enable TCP window scale option as defined in
/// RFC1323. Set it to FALSE to disable it.
///
- BOOLEAN EnableWindowScaling;
+ BOOLEAN EnableWindowScaling;
///
/// Set it to TRUE to enable selective acknowledge mechanism
/// described in RFC 2018. Set it to FALSE to disable it.
/// Implementation that supports SACK can optionally support
/// DSAK as defined in RFC 2883.
///
- BOOLEAN EnableSelectiveAck;
+ BOOLEAN EnableSelectiveAck;
///
/// Set it to TRUE to enable path MTU discovery as defined in
/// RFC 1191. Set to FALSE to disable it.
///
- BOOLEAN EnablePathMtuDiscovery;
+ BOOLEAN EnablePathMtuDiscovery;
} EFI_TCP6_OPTION;
///
@@ -222,20 +221,20 @@ typedef struct {
///
/// TrafficClass field in transmitted IPv6 packets.
///
- UINT8 TrafficClass;
+ UINT8 TrafficClass;
///
/// HopLimit field in transmitted IPv6 packets.
///
- UINT8 HopLimit;
+ UINT8 HopLimit;
///
/// Used to specify TCP communication end settings for a TCP instance.
///
- EFI_TCP6_ACCESS_POINT AccessPoint;
+ EFI_TCP6_ACCESS_POINT AccessPoint;
///
/// Used to configure the advance TCP option for a connection. If set
/// to NULL, implementation specific options for TCP connection will be used.
///
- EFI_TCP6_OPTION *ControlOption;
+ EFI_TCP6_OPTION *ControlOption;
} EFI_TCP6_CONFIG_DATA;
///
@@ -264,11 +263,11 @@ typedef struct {
/// The Event to signal after request is finished and Status field is
/// updated by the EFI TCPv6 Protocol driver.
///
- EFI_EVENT Event;
+ EFI_EVENT Event;
///
/// The result of the completed operation.
///
- EFI_STATUS Status;
+ EFI_STATUS Status;
} EFI_TCP6_COMPLETION_TOKEN;
///
@@ -304,7 +303,7 @@ typedef struct {
/// EFI_SECURITY_VIOLATION: The active open was failed because of IPSec policy check.
/// EFI_NO_MEDIA: There was a media error.
///
- EFI_TCP6_COMPLETION_TOKEN CompletionToken;
+ EFI_TCP6_COMPLETION_TOKEN CompletionToken;
} EFI_TCP6_CONNECTION_TOKEN;
///
@@ -323,8 +322,8 @@ typedef struct {
/// EFI_ABORTED: The accept request has been aborted.
/// EFI_SECURITY_VIOLATION: The accept operation was failed because of IPSec policy check.
///
- EFI_TCP6_COMPLETION_TOKEN CompletionToken;
- EFI_HANDLE NewChildHandle;
+ EFI_TCP6_COMPLETION_TOKEN CompletionToken;
+ EFI_HANDLE NewChildHandle;
} EFI_TCP6_LISTEN_TOKEN;
///
@@ -333,8 +332,8 @@ typedef struct {
/// purpose of this structure is to provide scattered read and write.
///
typedef struct {
- UINT32 FragmentLength; ///< Length of data buffer in the fragment.
- VOID *FragmentBuffer; ///< Pointer to the data buffer in the fragment.
+ UINT32 FragmentLength; ///< Length of data buffer in the fragment.
+ VOID *FragmentBuffer; ///< Pointer to the data buffer in the fragment.
} EFI_TCP6_FRAGMENT_DATA;
///
@@ -348,22 +347,22 @@ typedef struct {
/// Whether the data is urgent. When this flag is set, the instance is in
/// urgent mode.
///
- BOOLEAN UrgentFlag;
+ BOOLEAN UrgentFlag;
///
/// When calling Receive() function, it is the byte counts of all
/// Fragmentbuffer in FragmentTable allocated by user.
/// When the token is signaled by TCPv6 driver it is the length of
/// received data in the fragments.
///
- UINT32 DataLength;
+ UINT32 DataLength;
///
/// Number of fragments.
///
- UINT32 FragmentCount;
+ UINT32 FragmentCount;
///
/// An array of fragment descriptors.
///
- EFI_TCP6_FRAGMENT_DATA FragmentTable[1];
+ EFI_TCP6_FRAGMENT_DATA FragmentTable[1];
} EFI_TCP6_RECEIVE_DATA;
///
@@ -378,24 +377,24 @@ typedef struct {
/// transmission may be delayed to combine with data from
/// subsequent Transmit()s for efficiency.
///
- BOOLEAN Push;
+ BOOLEAN Push;
///
/// The data in the fragment table are urgent and urgent point is in
/// effect if TRUE. Otherwise those data are NOT considered urgent.
///
- BOOLEAN Urgent;
+ BOOLEAN Urgent;
///
/// Length of the data in the fragments.
///
- UINT32 DataLength;
+ UINT32 DataLength;
///
/// Number of fragments.
///
- UINT32 FragmentCount;
+ UINT32 FragmentCount;
///
/// An array of fragment descriptors.
///
- EFI_TCP6_FRAGMENT_DATA FragmentTable[1];
+ EFI_TCP6_FRAGMENT_DATA FragmentTable[1];
} EFI_TCP6_TRANSMIT_DATA;
///
@@ -432,18 +431,18 @@ typedef struct {
/// operation was failed because of IPSec policy check
/// EFI_NO_MEDIA: There was a media error.
///
- EFI_TCP6_COMPLETION_TOKEN CompletionToken;
+ EFI_TCP6_COMPLETION_TOKEN CompletionToken;
union {
///
/// When this token is used for receiving, RxData is a pointer to
/// EFI_TCP6_RECEIVE_DATA.
///
- EFI_TCP6_RECEIVE_DATA *RxData;
+ EFI_TCP6_RECEIVE_DATA *RxData;
///
/// When this token is used for transmitting, TxData is a pointer to
/// EFI_TCP6_TRANSMIT_DATA.
///
- EFI_TCP6_TRANSMIT_DATA *TxData;
+ EFI_TCP6_TRANSMIT_DATA *TxData;
} Packet;
} EFI_TCP6_IO_TOKEN;
@@ -459,13 +458,13 @@ typedef struct {
/// EFI_ABORTED: User called configure with NULL without close stopping.
/// EFI_SECURITY_VIOLATION: The close operation was failed because of IPSec policy check.
///
- EFI_TCP6_COMPLETION_TOKEN CompletionToken;
+ EFI_TCP6_COMPLETION_TOKEN CompletionToken;
///
/// Abort the TCP connection on close instead of the standard TCP
/// close process when it is set to TRUE. This option can be used to
/// satisfy a fast disconnect.
///
- BOOLEAN AbortOnClose;
+ BOOLEAN AbortOnClose;
} EFI_TCP6_CLOSE_TOKEN;
/**
@@ -840,19 +839,18 @@ EFI_STATUS
/// Each instance has its own independent settings.
///
struct _EFI_TCP6_PROTOCOL {
- EFI_TCP6_GET_MODE_DATA GetModeData;
- EFI_TCP6_CONFIGURE Configure;
- EFI_TCP6_CONNECT Connect;
- EFI_TCP6_ACCEPT Accept;
- EFI_TCP6_TRANSMIT Transmit;
- EFI_TCP6_RECEIVE Receive;
- EFI_TCP6_CLOSE Close;
- EFI_TCP6_CANCEL Cancel;
- EFI_TCP6_POLL Poll;
+ EFI_TCP6_GET_MODE_DATA GetModeData;
+ EFI_TCP6_CONFIGURE Configure;
+ EFI_TCP6_CONNECT Connect;
+ EFI_TCP6_ACCEPT Accept;
+ EFI_TCP6_TRANSMIT Transmit;
+ EFI_TCP6_RECEIVE Receive;
+ EFI_TCP6_CLOSE Close;
+ EFI_TCP6_CANCEL Cancel;
+ EFI_TCP6_POLL Poll;
};
-extern EFI_GUID gEfiTcp6ServiceBindingProtocolGuid;
-extern EFI_GUID gEfiTcp6ProtocolGuid;
+extern EFI_GUID gEfiTcp6ServiceBindingProtocolGuid;
+extern EFI_GUID gEfiTcp6ProtocolGuid;
#endif
-