diff options
author | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-03-01 08:00:28 +0000 |
---|---|---|
committer | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-03-01 08:00:28 +0000 |
commit | bce46f7e101d1a443aa8a300b58fdc0f0a481c23 (patch) | |
tree | 066777eb3118962e2e49eeb7c03a71f75675e581 /MdePkg/Include/Protocol | |
parent | 8c5983b73949e570f7ed30546050a650229fa5de (diff) | |
download | edk2-bce46f7e101d1a443aa8a300b58fdc0f0a481c23.tar.gz edk2-bce46f7e101d1a443aa8a300b58fdc0f0a481c23.tar.bz2 edk2-bce46f7e101d1a443aa8a300b58fdc0f0a481c23.zip |
remove some comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10141 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include/Protocol')
-rw-r--r-- | MdePkg/Include/Protocol/Ip6.h | 578 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/Mtftp4.h | 127 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/Mtftp6.h | 370 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/Tcp4.h | 73 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/Tcp6.h | 480 |
5 files changed, 797 insertions, 831 deletions
diff --git a/MdePkg/Include/Protocol/Ip6.h b/MdePkg/Include/Protocol/Ip6.h index 83cd492534..70ffe265d1 100644 --- a/MdePkg/Include/Protocol/Ip6.h +++ b/MdePkg/Include/Protocol/Ip6.h @@ -9,18 +9,18 @@ which includes support for Neighbor Discovery Protocol (ND), Multicast
Listener Discovery Protocol (MLD), and a subset of the Internet Control
Message Protocol (ICMPv6).
-
- Copyright (c) 2008 - 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.
+ Copyright (c) 2008 - 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
- @par Revision Reference:
- This Protocol is introduced in UEFI Specification 2.2
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ This Protocol is introduced in UEFI Specification 2.2
**/
@@ -43,10 +43,9 @@ typedef struct _EFI_IP6_PROTOCOL EFI_IP6_PROTOCOL;
///
-/// EFI_IP6_ADDRESS_PAIR
-/// which is not defined in the UEFI 2.3 Specification.
+/// EFI_IP6_ADDRESS_PAIR
///
-typedef struct{
+typedef struct{
///
/// The EFI IPv6 Protocol instance handle that is using this address/prefix pair.
///
@@ -59,11 +58,10 @@ typedef struct{ /// The length of the prefix associated with the Ip6Address.
///
UINT8 PrefixLength;
-} EFI_IP6_ADDRESS_PAIR;
+} EFI_IP6_ADDRESS_PAIR;
///
/// EFI_IP6_VARIABLE_DATA
-/// which is not defined in the UEFI 2.3 Specification.
///
typedef struct {
///
@@ -114,12 +112,12 @@ typedef struct { #define ICMP_V6_NO_ROUTE_TO_DEST 0x0
#define ICMP_V6_COMM_PROHIBITED 0x1
#define ICMP_V6_BEYOND_SCOPE 0x2
-#define ICMP_V6_ADDR_UNREACHABLE 0x3
+#define ICMP_V6_ADDR_UNREACHABLE 0x3
#define ICMP_V6_PORT_UNREACHABLE 0x4
#define ICMP_V6_SOURCE_ADDR_FAILED 0x5
#define ICMP_V6_ROUTE_REJECTED 0x6
///@}
-
+
///
/// ICMPv6 code definitions for ICMP_V6_TIME_EXCEEDED
///
@@ -127,7 +125,7 @@ typedef struct { #define ICMP_V6_TIMEOUT_HOP_LIMIT 0x0
#define ICMP_V6_TIMEOUT_REASSEMBLE 0x1
///@}
-
+
///
/// ICMPv6 code definitions for ICMP_V6_PARAMETER_PROBLEM
///
@@ -142,82 +140,82 @@ typedef struct { /// is used to report and change IPv6 session parameters.
///
typedef struct {
- ///
- /// For the IPv6 packet to send and receive, this is the default value
- /// of the 'Next Header' field in the last IPv6 extension header or in
- /// the IPv6 header if there are no extension headers. Ignored when
+ ///
+ /// For the IPv6 packet to send and receive, this is the default value
+ /// of the 'Next Header' field in the last IPv6 extension header or in
+ /// the IPv6 header if there are no extension headers. Ignored when
/// AcceptPromiscuous is TRUE.
- ///
+ ///
UINT8 DefaultProtocol;
- ///
- /// Set to TRUE to receive all IPv6 packets that get through the
- /// receive filters.
- /// Set to FALSE to receive only the DefaultProtocol IPv6
- /// packets that get through the receive filters. Ignored when
+ ///
+ /// Set to TRUE to receive all IPv6 packets that get through the
+ /// receive filters.
+ /// Set to FALSE to receive only the DefaultProtocol IPv6
+ /// packets that get through the receive filters. Ignored when
/// AcceptPromiscuous is TRUE.
- ///
+ ///
BOOLEAN AcceptAnyProtocol;
- ///
- /// Set to TRUE to receive ICMP error report packets. Ignored when
+ ///
+ /// Set to TRUE to receive ICMP error report packets. Ignored when
/// AcceptPromiscuous or AcceptAnyProtocol is TRUE.
- ///
+ ///
BOOLEAN AcceptIcmpErrors;
- ///
- /// Set to TRUE to receive all IPv6 packets that are sent to any
- /// hardware address or any protocol address. Set to FALSE to stop
+ ///
+ /// Set to TRUE to receive all IPv6 packets that are sent to any
+ /// hardware address or any protocol address. Set to FALSE to stop
/// receiving all promiscuous IPv6 packets.
- ///
+ ///
BOOLEAN AcceptPromiscuous;
- ///
- /// The destination address of the packets that will be transmitted.
+ ///
+ /// The destination address of the packets that will be transmitted.
/// Ignored if it is unspecified.
- ///
+ ///
EFI_IPv6_ADDRESS DestinationAddress;
- ///
- /// The station IPv6 address that will be assigned to this EFI IPv6
- /// Protocol instance. This field can be set and changed only when
- /// the EFI IPv6 driver is transitioning from the stopped to the started
- /// states. If the StationAddress is specified, the EFI IPv6 Protocol
- /// driver will deliver only incoming IPv6 packets whose destination
- /// matches this IPv6 address exactly. The StationAddress is required
- /// to be one of currently configured IPv6 addresses. An address
- /// containing all zeroes is also accepted as a special case. Under this
- /// situation, the IPv6 driver is responsible for binding a source
- /// address to this EFI IPv6 protocol instance according to the source
- /// address selection algorithm. Only incoming packets destined to
- /// the selected address will be delivered to the user. And the
- /// selected station address can be retrieved through later
- /// GetModeData() call. If no address is available for selecting,
- /// EFI_NO_MAPPING will be returned, and the station address will
- /// only be successfully bound to this EFI IPv6 protocol instance
+ ///
+ /// The station IPv6 address that will be assigned to this EFI IPv6
+ /// Protocol instance. This field can be set and changed only when
+ /// the EFI IPv6 driver is transitioning from the stopped to the started
+ /// states. If the StationAddress is specified, the EFI IPv6 Protocol
+ /// driver will deliver only incoming IPv6 packets whose destination
+ /// matches this IPv6 address exactly. The StationAddress is required
+ /// to be one of currently configured IPv6 addresses. An address
+ /// containing all zeroes is also accepted as a special case. Under this
+ /// situation, the IPv6 driver is responsible for binding a source
+ /// address to this EFI IPv6 protocol instance according to the source
+ /// address selection algorithm. Only incoming packets destined to
+ /// the selected address will be delivered to the user. And the
+ /// selected station address can be retrieved through later
+ /// GetModeData() call. If no address is available for selecting,
+ /// EFI_NO_MAPPING will be returned, and the station address will
+ /// only be successfully bound to this EFI IPv6 protocol instance
/// after IP6ModeData.IsConfigured changed to TRUE.
- ///
- EFI_IPv6_ADDRESS StationAddress;
- ///
- /// TrafficClass field in transmitted IPv6 packets. Default value
+ ///
+ EFI_IPv6_ADDRESS StationAddress;
+ ///
+ /// TrafficClass field in transmitted IPv6 packets. Default value
/// is zero.
- ///
+ ///
UINT8 TrafficClass;
- ///
- /// HopLimit field in transmitted IPv6 packets.
- ///
+ ///
+ /// HopLimit field in transmitted IPv6 packets.
+ ///
UINT8 HopLimit;
- ///
- /// FlowLabel field in transmitted IPv6 packets. Default value is
+ ///
+ /// FlowLabel field in transmitted IPv6 packets. Default value is
/// zero.
- ///
+ ///
UINT32 FlowLabel;
- ///
- /// The timer timeout value (number of microseconds) for the
- /// receive timeout event to be associated with each assembled
+ ///
+ /// The timer timeout value (number of microseconds) for the
+ /// receive timeout event to be associated with each assembled
/// packet. Zero means do not drop assembled packets.
- ///
+ ///
UINT32 ReceiveTimeout;
- ///
- /// The timer timeout value (number of microseconds) for the
- /// transmit timeout event to be associated with each outgoing
+ ///
+ /// The timer timeout value (number of microseconds) for the
+ /// transmit timeout event to be associated with each outgoing
/// packet. Zero means do not drop outgoing packets.
- ///
+ ///
UINT32 TransmitTimeout;
} EFI_IP6_CONFIG_DATA;
@@ -226,24 +224,24 @@ typedef struct { ///
typedef struct {
EFI_IPv6_ADDRESS Address; ///< The IPv6 address.
- UINT8 PrefixLength; ///< The length of the prefix associated with the Address.
+ UINT8 PrefixLength; ///< The length of the prefix associated with the Address.
} EFI_IP6_ADDRESS_INFO;
///
/// EFI_IP6_ROUTE_TABLE
/// is the entry structure that is used in routing tables
-///
+///
typedef struct {
///
- /// The IPv6 address of the gateway to be used as the next hop for
- /// packets to this prefix. If the IPv6 address is all zeros, then the
+ /// The IPv6 address of the gateway to be used as the next hop for
+ /// packets to this prefix. If the IPv6 address is all zeros, then the
/// prefix is on-link.
///
- EFI_IPv6_ADDRESS Gateway;
+ EFI_IPv6_ADDRESS Gateway;
///
/// The destination prefix to be routed.
///
- EFI_IPv6_ADDRESS Destination;
+ EFI_IPv6_ADDRESS Destination;
///
/// The length of the prefix associated with the Destination.
///
@@ -255,31 +253,31 @@ typedef struct { ///
typedef enum {
///
- /// Address resolution is being performed on this entry. Specially,
- /// Neighbor Solicitation has been sent to the solicited-node
- /// multicast address of the target, but corresponding Neighbor
+ /// Address resolution is being performed on this entry. Specially,
+ /// Neighbor Solicitation has been sent to the solicited-node
+ /// multicast address of the target, but corresponding Neighbor
/// Advertisement has not been received.
///
- EfiNeighborInComplete,
+ EfiNeighborInComplete,
///
- /// Positive confirmation was received that the forward path to the
+ /// Positive confirmation was received that the forward path to the
/// neighbor was functioning properly.
///
EfiNeighborReachable,
///
- ///Reachable Time has elapsed since the last positive confirmation
- ///was received. In this state, the forward path to the neighbor was
+ ///Reachable Time has elapsed since the last positive confirmation
+ ///was received. In this state, the forward path to the neighbor was
///functioning properly.
///
EfiNeighborStale,
///
- /// This state is an optimization that gives upper-layer protocols
+ /// This state is an optimization that gives upper-layer protocols
/// additional time to provide reachability confirmation.
///
EfiNeighborDelay,
///
- /// A reachability confirmation is actively sought by retransmitting
- /// Neighbor Solicitations every RetransTimer milliseconds until a
+ /// A reachability confirmation is actively sought by retransmitting
+ /// Neighbor Solicitations every RetransTimer milliseconds until a
/// reachability confirmation is received.
///
EfiNeighborProbe
@@ -287,107 +285,107 @@ typedef enum { ///
/// EFI_IP6_NEIGHBOR_CACHE
-/// is the entry structure that is used in neighbor cache. It records a set
-/// of entries about individual neighbors to which traffic has been sent recently.
+/// is the entry structure that is used in neighbor cache. It records a set
+/// of entries about individual neighbors to which traffic has been sent recently.
///
typedef struct {
EFI_IPv6_ADDRESS Neighbor; ///< The on-link unicast/anycast IP address of the neighbor.
- EFI_MAC_ADDRESS LinkAddress; ///< Link-layer address of the neighbor.
- EFI_IP6_NEIGHBOR_STATE State; ///< State of this neighbor cache entry.
+ EFI_MAC_ADDRESS LinkAddress; ///< Link-layer address of the neighbor.
+ EFI_IP6_NEIGHBOR_STATE State; ///< State of this neighbor cache entry.
} EFI_IP6_NEIGHBOR_CACHE;
///
/// EFI_IP6_ICMP_TYPE
-/// is used to describe those ICMP messages that are supported by this EFI
+/// is used to describe those ICMP messages that are supported by this EFI
/// IPv6 Protocol driver.
///
typedef struct {
UINT8 Type; ///< The type of ICMP message.
UINT8 Code; ///< The code of the ICMP message.
-} EFI_IP6_ICMP_TYPE;
+} EFI_IP6_ICMP_TYPE;
///
/// EFI_IP6_MODE_DATA
///
-typedef struct {
+typedef struct {
///
- /// Set to TRUE after this EFI IPv6 Protocol instance is started.
- /// All other fields in this structure are undefined until this field is TRUE.
+ /// Set to TRUE after this EFI IPv6 Protocol instance is started.
+ /// All other fields in this structure are undefined until this field is TRUE.
/// Set to FALSE when the EFI IPv6 Protocol instance is stopped.
- ///
+ ///
BOOLEAN IsStarted;
///
/// The maximum packet size, in bytes, of the packet which the upper layer driver could feed.
///
UINT32 MaxPacketSize;
- ///
+ ///
/// Current configuration settings. Undefined until IsStarted is TRUE.
///
EFI_IP6_CONFIG_DATA ConfigData;
- ///
- /// Set to TRUE when the EFI IPv6 Protocol instance is configured.
- /// The instance is configured when it has a station address and
- /// corresponding prefix length.
+ ///
+ /// Set to TRUE when the EFI IPv6 Protocol instance is configured.
+ /// The instance is configured when it has a station address and
+ /// corresponding prefix length.
/// Set to FALSE when the EFI IPv6 Protocol instance is not configured.
///
BOOLEAN IsConfigured;
- ///
- /// Number of configured IPv6 addresses on this interface.
+ ///
+ /// Number of configured IPv6 addresses on this interface.
///
UINT32 AddressCount;
- ///
- /// List of currently configured IPv6 addresses and corresponding
- /// prefix lengths assigned to this interface. It is caller's
+ ///
+ /// List of currently configured IPv6 addresses and corresponding
+ /// prefix lengths assigned to this interface. It is caller's
/// responsibility to free this buffer.
- ///
+ ///
EFI_IP6_ADDRESS_INFO *AddressList;
- ///
- /// Number of joined multicast groups. Undefined until
+ ///
+ /// Number of joined multicast groups. Undefined until
/// IsConfigured is TRUE.
///
UINT32 GroupCount;
- ///
- /// List of joined multicast group addresses. It is caller's
- /// responsibility to free this buffer. Undefined until
+ ///
+ /// List of joined multicast group addresses. It is caller's
+ /// responsibility to free this buffer. Undefined until
/// IsConfigured is TRUE.
///
EFI_IPv6_ADDRESS *GroupTable;
- ///
- /// Number of entries in the routing table. Undefined until
+ ///
+ /// Number of entries in the routing table. Undefined until
/// IsConfigured is TRUE.
///
UINT32 RouteCount;
- ///
+ ///
/// Routing table entries. It is caller's responsibility to free this buffer.
///
EFI_IP6_ROUTE_TABLE *RouteTable;
///
- /// Number of entries in the neighbor cache. Undefined until
+ /// Number of entries in the neighbor cache. Undefined until
/// IsConfigured is TRUE.
///
UINT32 NeighborCount;
- ///
- /// Neighbor cache entries. It is caller's responsibility to free this
- /// buffer. Undefined until IsConfigured is TRUE.
///
- EFI_IP6_NEIGHBOR_CACHE *NeighborCache;
- ///
- /// Number of entries in the prefix table. Undefined until
+ /// Neighbor cache entries. It is caller's responsibility to free this
+ /// buffer. Undefined until IsConfigured is TRUE.
+ ///
+ EFI_IP6_NEIGHBOR_CACHE *NeighborCache;
+ ///
+ /// Number of entries in the prefix table. Undefined until
/// IsConfigured is TRUE.
///
UINT32 PrefixCount;
- ///
- /// On-link Prefix table entries. It is caller's responsibility to free this
- /// buffer. Undefined until IsConfigured is TRUE.
+ ///
+ /// On-link Prefix table entries. It is caller's responsibility to free this
+ /// buffer. Undefined until IsConfigured is TRUE.
///
EFI_IP6_ADDRESS_INFO *PrefixTable;
- ///
+ ///
/// Number of entries in the supported ICMP types list.
///
UINT32 IcmpTypeCount;
- ///
- /// Array of ICMP types and codes that are supported by this EFI
- /// IPv6 Protocol driver. It is caller's responsibility to free this
+ ///
+ /// Array of ICMP types and codes that are supported by this EFI
+ /// IPv6 Protocol driver. It is caller's responsibility to free this
/// buffer.
///
EFI_IP6_ICMP_TYPE *IcmpTypeList;
@@ -403,7 +401,7 @@ typedef struct _EFI_IP6_HEADER { UINT8 TrafficClassH:4;
UINT8 Version:4;
UINT8 FlowLabelH:4;
- UINT8 TrafficClassL:4;
+ UINT8 TrafficClassL:4;
UINT16 FlowLabelL;
UINT16 PayloadLength;
UINT8 NextHeader;
@@ -415,7 +413,7 @@ typedef struct _EFI_IP6_HEADER { ///
/// EFI_IP6_FRAGMENT_DATA
-/// describes the location and length of the IPv6 packet
+/// describes the location and length of the IPv6 packet
/// fragment to transmit or that has been received.
///
typedef struct _EFI_IP6_FRAGMENT_DATA {
@@ -427,93 +425,93 @@ typedef struct _EFI_IP6_FRAGMENT_DATA { /// EFI_IP6_RECEIVE_DATA
///
typedef struct _EFI_IP6_RECEIVE_DATA {
- ///
- /// Time when the EFI IPv6 Protocol driver accepted the packet.
+ ///
+ /// Time when the EFI IPv6 Protocol driver accepted the packet.
/// Ignored if it is zero.
- ///
+ ///
EFI_TIME TimeStamp;
- ///
- /// After this event is signaled, the receive data structure is released
+ ///
+ /// After this event is signaled, the receive data structure is released
/// and must not be referenced.
- ///
+ ///
EFI_EVENT RecycleSignal;
///
- ///Length of the IPv6 packet headers, including both the IPv6
- ///header and any extension headers.
+ ///Length of the IPv6 packet headers, including both the IPv6
+ ///header and any extension headers.
///
UINT32 HeaderLength;
- ///
- /// Pointer to the IPv6 packet header. If the IPv6 packet was
- /// fragmented, this argument is a pointer to the header in the first
- /// fragment.
- ///
+ ///
+ /// Pointer to the IPv6 packet header. If the IPv6 packet was
+ /// fragmented, this argument is a pointer to the header in the first
+ /// fragment.
+ ///
EFI_IP6_HEADER *Header;
- ///
- /// Sum of the lengths of IPv6 packet buffers in FragmentTable. May
+ ///
+ /// Sum of the lengths of IPv6 packet buffers in FragmentTable. May
/// be zero.
- ///
+ ///
UINT32 DataLength;
- ///
+ ///
/// Number of IPv6 payload fragments. May be zero.
- ///
+ ///
UINT32 FragmentCount;
- ///
+ ///
/// Array of payload fragment lengths and buffer pointers.
- ///
+ ///
EFI_IP6_FRAGMENT_DATA FragmentTable[1];
} EFI_IP6_RECEIVE_DATA;
///
/// EFI_IP6_OVERRIDE_DATA
-/// The information and flags in the override data structure will override
-/// default parameters or settings for one Transmit() function call.
+/// The information and flags in the override data structure will override
+/// default parameters or settings for one Transmit() function call.
///
typedef struct _EFI_IP6_OVERRIDE_DATA {
UINT8 Protocol; ///< Protocol type override.
UINT8 HopLimit; ///< Hop-Limit override.
UINT32 FlowLabel; ///< Flow-Label override.
} EFI_IP6_OVERRIDE_DATA;
-
+
///
-/// EFI_IP6_TRANSMIT_DATA
+/// EFI_IP6_TRANSMIT_DATA
///
-typedef struct _EFI_IP6_TRANSMIT_DATA {
- ///
- /// The destination IPv6 address. If it is unspecified,
+typedef struct _EFI_IP6_TRANSMIT_DATA {
+ ///
+ /// The destination IPv6 address. If it is unspecified,
/// ConfigData.DestinationAddress will be used instead.
- ///
+ ///
EFI_IPv6_ADDRESS DestinationAddress;
- ///
+ ///
/// If not NULL, the IPv6 transmission control override data.
- ///
+ ///
EFI_IP6_OVERRIDE_DATA *OverrideData;
- ///
- /// Total length in byte of the IPv6 extension headers specified in
+ ///
+ /// Total length in byte of the IPv6 extension headers specified in
/// ExtHdrs.
- ///
+ ///
UINT32 ExtHdrsLength;
- ///
- /// Pointer to the IPv6 extension headers. The IP layer will append
- /// the required extension headers if they are not specified by
+ ///
+ /// Pointer to the IPv6 extension headers. The IP layer will append
+ /// the required extension headers if they are not specified by
/// ExtHdrs. Ignored if ExtHdrsLength is zero.
- ///
+ ///
VOID *ExtHdrs;
- ///
- /// The protocol of first extension header in ExtHdrs. Ignored if
+ ///
+ /// The protocol of first extension header in ExtHdrs. Ignored if
/// ExtHdrsLength is zero.
- ///
+ ///
UINT8 NextHeader;
- ///
+ ///
/// Total length in bytes of the FragmentTable data to transmit.
- ///
+ ///
UINT32 DataLength;
- ///
+ ///
/// Number of entries in the fragment data table.
- ///
+ ///
UINT32 FragmentCount;
- ///
+ ///
/// Start of the fragment data table.
- ///
+ ///
EFI_IP6_FRAGMENT_DATA FragmentTable[1];
} EFI_IP6_TRANSMIT_DATA;
@@ -523,20 +521,20 @@ typedef struct _EFI_IP6_TRANSMIT_DATA { ///
typedef struct {
///
- /// This Event will be signaled after the Status field is updated by
+ /// This Event will be signaled after the Status field is updated by
/// the EFI IPv6 Protocol driver. The type of Event must be EFI_NOTIFY_SIGNAL.
///
EFI_EVENT Event;
///
/// Will be set to one of the following values:
- /// - EFI_SUCCESS: The receive or transmit completed
+ /// - EFI_SUCCESS: The receive or transmit completed
/// successfully.
/// - EFI_ABORTED: The receive or transmit was aborted
/// - EFI_TIMEOUT: The transmit timeout expired.
/// - EFI_ICMP_ERROR: An ICMP error packet was received.
- /// - EFI_DEVICE_ERROR: An unexpected system or network
+ /// - EFI_DEVICE_ERROR: An unexpected system or network
/// error occurred.
- /// - EFI_SECURITY_VIOLATION: The transmit or receive was
+ /// - EFI_SECURITY_VIOLATION: The transmit or receive was
/// failed because of an IPsec policy check.
/// - EFI_NO_MEDIA: There was a media error.
///
@@ -555,22 +553,22 @@ typedef struct { /**
Gets the current operational settings for this instance of the EFI IPv6 Protocol driver.
-
- The GetModeData() function returns the current operational mode data for this driver instance.
- The data fields in EFI_IP6_MODE_DATA are read only. This function is used optionally to
+
+ The GetModeData() function returns the current operational mode data for this driver instance.
+ The data fields in EFI_IP6_MODE_DATA are read only. This function is used optionally to
retrieve the operational mode data of underlying networks or drivers..
@param[in] This Pointer to the EFI_IP6_PROTOCOL instance.
@param[out] Ip6ModeData Pointer to the EFI IPv6 Protocol mode data structure.
@param[out] MnpConfigData Pointer to the managed network configuration data structure.
@param[out] SnpModeData Pointer to the simple network mode data structure.
-
+
@retval EFI_SUCCESS The operation completed successfully.
@retval EFI_INVALID_PARAMETER This is NULL.
@retval EFI_OUT_OF_RESOURCES The required mode data could not be allocated.
**/
-typedef
+typedef
EFI_STATUS
(EFIAPI *EFI_IP6_GET_MODE_DATA)(
IN EFI_IP6_PROTOCOL *This,
@@ -581,51 +579,51 @@ EFI_STATUS /**
Assigns an IPv6 address and subnet mask to this EFI IPv6 Protocol driver instance.
-
- The Configure() function is used to set, change, or reset the operational parameters and filter
- settings for this EFI IPv6 Protocol instance. Until these parameters have been set, no network traffic
- can be sent or received by this instance. Once the parameters have been reset (by calling this
- function with Ip6ConfigData set to NULL), no more traffic can be sent or received until these
- parameters have been set again. Each EFI IPv6 Protocol instance can be started and stopped
- independently of each other by enabling or disabling their receive filter settings with the
+
+ The Configure() function is used to set, change, or reset the operational parameters and filter
+ settings for this EFI IPv6 Protocol instance. Until these parameters have been set, no network traffic
+ can be sent or received by this instance. Once the parameters have been reset (by calling this
+ function with Ip6ConfigData set to NULL), no more traffic can be sent or received until these
+ parameters have been set again. Each EFI IPv6 Protocol instance can be started and stopped
+ independently of each other by enabling or disabling their receive filter settings with the
Configure() function.
-
- If Ip6ConfigData.StationAddress is a valid non-zero IPv6 unicast address, it is required
- to be one of the currently configured IPv6 addresses list in the EFI IPv6 drivers, or else
- EFI_INVALID_PARAMETER will be returned. If Ip6ConfigData.StationAddress is
- unspecified, the IPv6 driver will bind a source address according to the source address selection
- algorithm. Clients could frequently call GetModeData() to check get currently configured IPv6
- address list in the EFI IPv6 driver. If both Ip6ConfigData.StationAddress and
- Ip6ConfigData.Destination are unspecified, when transmitting the packet afterwards, the
+
+ If Ip6ConfigData.StationAddress is a valid non-zero IPv6 unicast address, it is required
+ to be one of the currently configured IPv6 addresses list in the EFI IPv6 drivers, or else
+ EFI_INVALID_PARAMETER will be returned. If Ip6ConfigData.StationAddress is
+ unspecified, the IPv6 driver will bind a source address according to the source address selection
+ algorithm. Clients could frequently call GetModeData() to check get currently configured IPv6
+ address list in the EFI IPv6 driver. If both Ip6ConfigData.StationAddress and
+ Ip6ConfigData.Destination are unspecified, when transmitting the packet afterwards, the
source address filled in each outgoing IPv6 packet is decided based on the destination of this packet. .
-
- If operational parameters are reset or changed, any pending transmit and receive requests will be
- cancelled. Their completion token status will be set to EFI_ABORTED and their events will be
+
+ If operational parameters are reset or changed, any pending transmit and receive requests will be
+ cancelled. Their completion token status will be set to EFI_ABORTED and their events will be
signaled.
@param[in] This Pointer to the EFI_IP6_PROTOCOL instance.
@param[in] Ip6ConfigData Pointer to the EFI IPv6 Protocol configuration data structure.
-
+
@retval EFI_SUCCESS The driver instance was successfully opened.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
- - Ip6ConfigData.StationAddress is neither zero nor
+ - Ip6ConfigData.StationAddress is neither zero nor
a unicast IPv6 address.
- - Ip6ConfigData.StationAddress is neither zero nor
+ - Ip6ConfigData.StationAddress is neither zero nor
one of the configured IP addresses in the EFI IPv6 driver.
- - Ip6ConfigData.DefaultProtocol is illegal.
+ - Ip6ConfigData.DefaultProtocol is illegal.
@retval EFI_OUT_OF_RESOURCES The EFI IPv6 Protocol driver instance data could not be allocated.
- @retval EFI_NO_MAPPING The IPv6 driver was responsible for choosing a source address for
- this instance, but no source address was available for use.
- @retval EFI_ALREADY_STARTED The interface is already open and must be stopped before the IPv6
+ @retval EFI_NO_MAPPING The IPv6 driver was responsible for choosing a source address for
+ this instance, but no source address was available for use.
+ @retval EFI_ALREADY_STARTED The interface is already open and must be stopped before the IPv6
address or prefix length can be changed.
- @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI IPv6
+ @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI IPv6
Protocol driver instance is not opened.
- @retval EFI_UNSUPPORTED Default protocol specified through
+ @retval EFI_UNSUPPORTED Default protocol specified through
Ip6ConfigData.DefaulProtocol isn't supported.
**/
-typedef
+typedef
EFI_STATUS
(EFIAPI *EFI_IP6_CONFIGURE)(
IN EFI_IP6_PROTOCOL *This,
@@ -634,24 +632,24 @@ EFI_STATUS /**
Joins and leaves multicast groups.
-
- The Groups() function is used to join and leave multicast group sessions. Joining a group will
- enable reception of matching multicast packets. Leaving a group will disable reception of matching
+
+ The Groups() function is used to join and leave multicast group sessions. Joining a group will
+ enable reception of matching multicast packets. Leaving a group will disable reception of matching
multicast packets. Source-Specific Multicast isn't required to be supported.
-
+
If JoinFlag is FALSE and GroupAddress is NULL, all joined groups will be left.
@param[in] This Pointer to the EFI_IP6_PROTOCOL instance.
@param[in] JoinFlag Set to TRUE to join the multicast group session and FALSE to leave.
@param[in] GroupAddress Pointer to the IPv6 multicast address.
-
+
@retval EFI_SUCCESS The operation completed successfully.
@retval EFI_INVALID_PARAMETER One or more of the following is TRUE:
- This is NULL.
- JoinFlag is TRUE and GroupAddress is NULL.
- GroupAddress is not NULL and *GroupAddress is
- not a multicast IPv6 address.
- - GroupAddress is not NULL and *GroupAddress is in the
+ not a multicast IPv6 address.
+ - GroupAddress is not NULL and *GroupAddress is in the
range of SSM destination address.
@retval EFI_NOT_STARTED This instance has not been started.
@retval EFI_OUT_OF_RESOURCES System resources could not be allocated.
@@ -662,7 +660,7 @@ EFI_STATUS @retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
**/
-typedef
+typedef
EFI_STATUS
(EFIAPI *EFI_IP6_GROUPS)(
IN EFI_IP6_PROTOCOL *This,
@@ -674,23 +672,23 @@ EFI_STATUS Adds and deletes routing table entries.
The Routes() function adds a route to or deletes a route from the routing table.
-
- Routes are determined by comparing the leftmost PrefixLength bits of Destination with
+
+ Routes are determined by comparing the leftmost PrefixLength bits of Destination with
the destination IPv6 address arithmetically. The gateway address must be on the same subnet as the
configured station address.
-
- The default route is added with Destination and PrefixLegth both set to all zeros. The
+
+ The default route is added with Destination and PrefixLegth both set to all zeros. The
default route matches all destination IPv6 addresses that do not match any other routes.
All EFI IPv6 Protocol instances share a routing table.
-
+
@param[in] This Pointer to the EFI_IP6_PROTOCOL instance.
- @param[in] DeleteRoute Set to TRUE to delete this route from the routing table. Set to
- FALSE to add this route to the routing table. Destination,
- PrefixLength and Gateway are used as the key to each
+ @param[in] DeleteRoute Set to TRUE to delete this route from the routing table. Set to
+ FALSE to add this route to the routing table. Destination,
+ PrefixLength and Gateway are used as the key to each
route entry.
@param[in] Destination The address prefix of the subnet that needs to be routed.
- @param[in] PrefixLength The prefix length of Destination. Ignored if Destination
+ @param[in] PrefixLength The prefix length of Destination. Ignored if Destination
is NULL.
@param[in] GatewayAddress The unicast gateway IPv6 address for this route.
@@ -698,55 +696,55 @@ EFI_STATUS @retval EFI_NOT_STARTED The driver instance has not been started.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
- - When DeleteRoute is TRUE, both Destination and
+ - When DeleteRoute is TRUE, both Destination and
GatewayAddress are NULL.
- - When DeleteRoute is FALSE, either Destination or
+ - When DeleteRoute is FALSE, either Destination or
GatewayAddress is NULL.
- *GatewayAddress is not a valid unicast IPv6 address.
- - *GatewayAddress is one of the local configured IPv6
+ - *GatewayAddress is one of the local configured IPv6
addresses.
@retval EFI_OUT_OF_RESOURCES Could not add the entry to the routing table.
@retval EFI_NOT_FOUND This route is not in the routing table (when DeleteRoute is TRUE).
@retval EFI_ACCESS_DENIED The route is already defined in the routing table (when
DeleteRoute is FALSE).
-
+
**/
-typedef
+typedef
EFI_STATUS
(EFIAPI *EFI_IP6_ROUTES)(
IN EFI_IP6_PROTOCOL *This,
IN BOOLEAN DeleteRoute,
IN EFI_IPv6_ADDRESS *Destination OPTIONAL,
IN UINT8 PrefixLength,
- IN EFI_IPv6_ADDRESS *GatewayAddress OPTIONAL
+ IN EFI_IPv6_ADDRESS *GatewayAddress OPTIONAL
);
/**
Add or delete Neighbor cache entries.
- The Neighbors() function is used to add, update, or delete an entry from neighbor cache.
- IPv6 neighbor cache entries are typically inserted and updated by the network protocol driver as
- network traffic is processed. Most neighbor cache entries will time out and be deleted if the network
- traffic stops. Neighbor cache entries that were inserted by Neighbors() may be static (will not
+ The Neighbors() function is used to add, update, or delete an entry from neighbor cache.
+ IPv6 neighbor cache entries are typically inserted and updated by the network protocol driver as
+ network traffic is processed. Most neighbor cache entries will time out and be deleted if the network
+ traffic stops. Neighbor cache entries that were inserted by Neighbors() may be static (will not
timeout) or dynamic (will time out).
-
- The implementation should follow the neighbor cache timeout mechanism which is defined in
- RFC4861. The default neighbor cache timeout value should be tuned for the expected network
+
+ The implementation should follow the neighbor cache timeout mechanism which is defined in
+ RFC4861. The default neighbor cache timeout value should be tuned for the expected network
environment
@param[in] This Pointer to the EFI_IP6_PROTOCOL instance.
- @param[in] DeleteFlag Set to TRUE to delete the specified cache entry, set to FALSE to
- add (or update, if it already exists and Override is TRUE) the
- specified cache entry. TargetIp6Address is used as the key
+ @param[in] DeleteFlag Set to TRUE to delete the specified cache entry, set to FALSE to
+ add (or update, if it already exists and Override is TRUE) the
+ specified cache entry. TargetIp6Address is used as the key
to find the requested cache entry.
@param[in] TargetIp6Address Pointer to Target IPv6 address.
- @param[in] TargetLinkAddress Pointer to link-layer address of the target. Ignored if NULL.
- @param[in] Timeout Time in 100-ns units that this entry will remain in the neighbor
- cache, it will be deleted after Timeout. A value of zero means that
- the entry is permanent. A non-zero value means that the entry is
- dynamic.
- @param[in] Override If TRUE, the cached link-layer address of the matching entry will
- be overridden and updated; if FALSE, EFI_ACCESS_DENIED
+ @param[in] TargetLinkAddress Pointer to link-layer address of the target. Ignored if NULL.
+ @param[in] Timeout Time in 100-ns units that this entry will remain in the neighbor
+ cache, it will be deleted after Timeout. A value of zero means that
+ the entry is permanent. A non-zero value means that the entry is
+ dynamic.
+ @param[in] Override If TRUE, the cached link-layer address of the matching entry will
+ be overridden and updated; if FALSE, EFI_ACCESS_DENIED
will be returned if a corresponding cache entry already existed.
@retval EFI_SUCCESS The data has been queued for transmission.
@@ -756,18 +754,18 @@ EFI_STATUS - TargetIpAddress is NULL.
- *TargetLinkAddress is invalid when not NULL.
- *TargetIpAddress is not a valid unicast IPv6 address.
- - *TargetIpAddress is one of the local configured IPv6
+ - *TargetIpAddress is one of the local configured IPv6
addresses.
@retval EFI_OUT_OF_RESOURCES Could not add the entry to the neighbor cache.
- @retval EFI_NOT_FOUND This entry is not in the neighbor cache (when DeleteFlag is
- TRUE or when DeleteFlag is FALSE while
+ @retval EFI_NOT_FOUND This entry is not in the neighbor cache (when DeleteFlag is
+ TRUE or when DeleteFlag is FALSE while
TargetLinkAddress is NULL.).
- @retval EFI_ACCESS_DENIED The to-be-added entry is already defined in the neighbor cache,
- and that entry is tagged as un-overridden (when DeleteFlag
+ @retval EFI_ACCESS_DENIED The to-be-added entry is already defined in the neighbor cache,
+ and that entry is tagged as un-overridden (when DeleteFlag
is FALSE).
**/
-typedef
+typedef
EFI_STATUS
(EFIAPI *EFI_IP6_NEIGHBORS)(
IN EFI_IP6_PROTOCOL *This,
@@ -790,7 +788,7 @@ EFI_STATUS @retval EFI_SUCCESS The data has been queued for transmission.
@retval EFI_NOT_STARTED This instance has not been started.
- @retval EFI_NO_MAPPING The IPv6 driver was responsible for choosing a source address for
+ @retval EFI_NO_MAPPING The IPv6 driver was responsible for choosing a source address for
this transmission, but no source address was available for use.
@retval EFI_INVALID_PARAMETER One or more of the following is TRUE:
- This is NULL.
@@ -802,25 +800,25 @@ EFI_STATUS - One or more of the Token.Packet.TxData.FragmentTable[].FragmentLength fields is zero.
- One or more of the Token.Packet.TxData.FragmentTable[].FragmentBuffer fields is NULL.
- Token.Packet.TxData.DataLength is zero or not equal to the sum of fragment lengths.
- - Token.Packet.TxData.DestinationAddress is non-zero when DestinationAddress is configured as
+ - Token.Packet.TxData.DestinationAddress is non-zero when DestinationAddress is configured as
non-zero when doing Configure() for this EFI IPv6 protocol instance.
- - Token.Packet.TxData.DestinationAddress is unspecified when DestinationAddress is unspecified
+ - Token.Packet.TxData.DestinationAddress is unspecified when DestinationAddress is unspecified
when doing Configure() for this EFI IPv6 protocol instance.
@retval EFI_ACCESS_DENIED The transmit completion token with the same Token.Event
was already in the transmit queue.
@retval EFI_NOT_READY The completion token could not be queued because the transmit
- queue is full.
+ queue is full.
@retval EFI_NOT_FOUND Not route is found to destination address.
@retval EFI_OUT_OF_RESOURCES Could not queue the transmit data.
@retval EFI_BUFFER_TOO_SMALL Token.Packet.TxData.TotalDataLength is too
short to transmit.
- @retval EFI_BAD_BUFFER_SIZE If Token.Packet.TxData.DataLength is beyond the
+ @retval EFI_BAD_BUFFER_SIZE If Token.Packet.TxData.DataLength is beyond the
maximum that which can be described through the Fragment Offset
field in Fragment header when performing fragmentation.
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
**/
-typedef
+typedef
EFI_STATUS
(EFIAPI *EFI_IP6_TRANSMIT)(
IN EFI_IP6_PROTOCOL *This,
@@ -829,10 +827,10 @@ EFI_STATUS /**
Places a receiving request into the receiving queue.
-
+
The Receive() function places a completion token into the receive packet queue.
This function is always asynchronous.
-
+
The Token.Event field in the completion token must be filled in by the caller
and cannot be NULL. When the receive operation completes, the EFI IPv6 Protocol
driver updates the Token.Status and Token.Packet.RxData fields and the Token.Event
@@ -840,10 +838,10 @@ EFI_STATUS @param[in] This Pointer to the EFI_IP6_PROTOCOL instance.
@param[in] Token Pointer to a token that is associated with the receive data descriptor.
-
+
@retval EFI_SUCCESS The receive completion token was cached.
@retval EFI_NOT_STARTED This EFI IPv6 Protocol instance has not been started.
- @retval EFI_NO_MAPPING When IP6 driver responsible for binding source address to this instance,
+ @retval EFI_NO_MAPPING When IP6 driver responsible for binding source address to this instance,
while no source address is available for use.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
@@ -856,18 +854,18 @@ EFI_STATUS @retval EFI_ACCESS_DENIED The receive completion token with the same Token.Event was already
in the receive queue.
@retval EFI_NOT_READY The receive request could not be queued because the receive queue is full.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IP6_RECEIVE)(
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_IP6_RECEIVE)(
IN EFI_IP6_PROTOCOL *This,
IN EFI_IP6_COMPLETION_TOKEN *Token
);
/**
Abort an asynchronous transmit or receive request.
-
+
The Cancel() function is used to abort a pending transmit or receive request.
If the token is in the transmit or receive request queues, after calling this
function, Token->Status will be set to EFI_ABORTED and then Token->Event will
@@ -881,7 +879,7 @@ EFI_STATUS EFI_IP6_PROTOCOL.Receive(). If NULL, all pending
tokens are aborted. Type EFI_IP6_COMPLETION_TOKEN is
defined in EFI_IP6_PROTOCOL.Transmit().
-
+
@retval EFI_SUCCESS The asynchronous I/O request was aborted and
Token->Event was signaled. When Token is NULL, all
pending requests were aborted and their events were signaled.
@@ -891,23 +889,23 @@ EFI_STATUS not found in the transmit or receive queue. It has either completed
or was not issued by Transmit() and Receive().
@retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_IP6_CANCEL)(
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_IP6_CANCEL)(
IN EFI_IP6_PROTOCOL *This,
IN EFI_IP6_COMPLETION_TOKEN *Token OPTIONAL
);
/**
Polls for incoming data packets and processes outgoing data packets.
-
+
The Poll() function polls for incoming data packets and processes outgoing data
packets. Network drivers and applications can call the EFI_IP6_PROTOCOL.Poll()
function to increase the rate that data packets are moved between the communications
device and the transmit and receive queues.
-
+
In some systems the periodic timer event may not poll the underlying communications
device fast enough to transmit and/or receive all data packets without missing
incoming packets or dropping outgoing packets. Drivers and applications that are
@@ -925,7 +923,7 @@ EFI_STATUS Consider increasing the polling rate.
**/
-typedef
+typedef
EFI_STATUS
(EFIAPI *EFI_IP6_POLL)(
IN EFI_IP6_PROTOCOL *This
diff --git a/MdePkg/Include/Protocol/Mtftp4.h b/MdePkg/Include/Protocol/Mtftp4.h index 10f97e5b97..9ebeec8870 100644 --- a/MdePkg/Include/Protocol/Mtftp4.h +++ b/MdePkg/Include/Protocol/Mtftp4.h @@ -1,16 +1,16 @@ /** @file
EFI Multicast Trivial File Tranfer Protocol Definition
- Copyright (c) 2006 - 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
+ Copyright (c) 2006 - 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.
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- @par Revision Reference:
+ @par Revision Reference:
This Protocol is introduced in UEFI Specification 2.0
**/
@@ -165,9 +165,9 @@ typedef struct { typedef struct {
EFI_MTFTP4_CONFIG_DATA ConfigData;
- UINT8 SupportedOptionCount;
+ UINT8 SupportedOptionCount;
UINT8 **SupportedOptoins;
- UINT8 UnsupportedOptionCount;
+ UINT8 UnsupportedOptionCount;
UINT8 **UnsupportedOptoins;
} EFI_MTFTP4_MODE_DATA;
@@ -185,11 +185,11 @@ typedef struct { //
/**
- A callback function that is provided by the caller to intercept
+ A callback function that is provided by the caller to intercept
the EFI_MTFTP4_OPCODE_DATA or EFI_MTFTP4_OPCODE_DATA8 packets processed in the
- EFI_MTFTP4_PROTOCOL.ReadFile() function, and alternatively to intercept
- EFI_MTFTP4_OPCODE_OACK or EFI_MTFTP4_OPCODE_ERROR packets during a call to
- EFI_MTFTP4_PROTOCOL.ReadFile(), WriteFile() or ReadDirectory().
+ EFI_MTFTP4_PROTOCOL.ReadFile() function, and alternatively to intercept
+ EFI_MTFTP4_OPCODE_OACK or EFI_MTFTP4_OPCODE_ERROR packets during a call to
+ EFI_MTFTP4_PROTOCOL.ReadFile(), WriteFile() or ReadDirectory().
@param This Pointer to the EFI_MTFTP4_PROTOCOL instance.
@param Token The token that the caller provided in the
@@ -202,9 +202,9 @@ typedef struct { @retval Others Abort transfer process
**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_MTFTP4_CHECK_PACKET)(
+typedef
+EFI_STATUS
+(EFIAPI *EFI_MTFTP4_CHECK_PACKET)(
IN EFI_MTFTP4_PROTOCOL *This,
IN EFI_MTFTP4_TOKEN *Token,
IN UINT16 PacketLen,
@@ -212,7 +212,7 @@ EFI_STATUS );
/**
- Timeout callback funtion.
+ Timeout callback funtion.
@param This Pointer to the EFI_MTFTP4_PROTOCOL instance.
@param Token The token that is provided in the
@@ -220,14 +220,14 @@ EFI_STATUS EFI_MTFTP4_PROTOCOL.WriteFile() or
EFI_MTFTP4_PROTOCOL.ReadDirectory() functions
by the caller.
-
+
@retval EFI_SUCCESS Operation sucess
@retval Others Aborts download process.
**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_MTFTP4_TIMEOUT_CALLBACK)(
+typedef
+EFI_STATUS
+(EFIAPI *EFI_MTFTP4_TIMEOUT_CALLBACK)(
IN EFI_MTFTP4_PROTOCOL *This,
IN EFI_MTFTP4_TOKEN *Token
);
@@ -247,9 +247,9 @@ EFI_STATUS @retval Others Aborts session.
**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_MTFTP4_PACKET_NEEDED)(
+typedef
+EFI_STATUS
+(EFIAPI *EFI_MTFTP4_PACKET_NEEDED)(
IN EFI_MTFTP4_PROTOCOL *This,
IN EFI_MTFTP4_TOKEN *Token,
IN OUT UINT16 *Length,
@@ -268,8 +268,8 @@ EFI_STATUS @retval EFI_INVALID_PARAMETER This is NULL or ModeData is NULL.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP4_GET_MODE_DATA)(
IN EFI_MTFTP4_PROTOCOL *This,
OUT EFI_MTFTP4_MODE_DATA *ModeData
@@ -277,7 +277,7 @@ EFI_STATUS /**
- Initializes, changes, or resets the default operational setting for this
+ Initializes, changes, or resets the default operational setting for this
EFI MTFTPv4 Protocol driver instance.
@param This Pointer to the EFI_MTFTP4_PROTOCOL instance.
@@ -298,14 +298,14 @@ EFI_STATUS MTFTPv4 Protocol driver instance is not configured.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP4_CONFIGURE)(
IN EFI_MTFTP4_PROTOCOL *This,
IN EFI_MTFTP4_CONFIG_DATA *MtftpConfigData OPTIONAL
- );
-
-
+ );
+
+
/**
Gets information about a file from an MTFTPv4 server.
@@ -323,7 +323,6 @@ EFI_STATUS the caller.
@retval EFI_SUCCESS An MTFTPv4 OACK packet was received and is in the Packet.
- Note: It does not match UEFI 2.3 Specification.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
- Filename is NULL.
@@ -341,24 +340,18 @@ EFI_STATUS @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
@retval EFI_TFTP_ERROR An MTFTPv4 ERROR packet was received and is in the Packet.
@retval EFI_NETWORK_UNREACHABLE An ICMP network unreachable error packet was received and the Packet is set to NULL.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_HOST_UNREACHABLE An ICMP host unreachable error packet was received and the Packet is set to NULL.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_PROTOCOL_UNREACHABLE An ICMP protocol unreachable error packet was received and the Packet is set to NULL.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_PORT_UNREACHABLE An ICMP port unreachable error packet was received and the Packet is set to NULL.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_ICMP_ERROR Some other ICMP ERROR packet was received and is in the Buffer.
- Note: It does not match UEFI 2.3 Specification.
@retval EFI_PROTOCOL_ERROR An unexpected MTFTPv4 packet was received and is in the Packet.
- Note: It does not match UEFI 2.3 Specification.
@retval EFI_TIMEOUT No responses were received from the MTFTPv4 server.
@retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
@retval EFI_NO_MEDIA There was a media error.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP4_GET_INFO)(
IN EFI_MTFTP4_PROTOCOL *This,
IN EFI_MTFTP4_OVERRIDE_DATA *OverrideData OPTIONAL,
@@ -392,15 +385,15 @@ EFI_STATUS @retval EFI_PROTOCOL_ERROR One or more of the option fields is invalid.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP4_PARSE_OPTIONS)(
IN EFI_MTFTP4_PROTOCOL *This,
IN UINT32 PacketLen,
IN EFI_MTFTP4_PACKET *Packet,
OUT UINT32 *OptionCount,
OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL
- );
+ );
/**
@@ -414,31 +407,25 @@ EFI_STATUS @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
@retval EFI_BUFFER_TOO_SMALL BufferSize is not zero but not large enough to hold the
downloaded data in downloading process.
- Note: It does not match UEFI 2.3 Specification.
@retval EFI_ABORTED Current operation is aborted by user.
@retval EFI_NETWORK_UNREACHABLE An ICMP network unreachable error packet was received.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_HOST_UNREACHABLE An ICMP host unreachable error packet was received.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_PROTOCOL_UNREACHABLE An ICMP protocol unreachable error packet was received.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_PORT_UNREACHABLE An ICMP port unreachable error packet was received.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_ICMP_ERROR Some other ICMP ERROR packet was received.
- Note: It does not match UEFI 2.3 Specification.
@retval EFI_TIMEOUT No responses were received from the MTFTPv4 server.
@retval EFI_TFTP_ERROR An MTFTPv4 ERROR packet was received.
@retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
@retval EFI_NO_MEDIA There was a media error.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP4_READ_FILE)(
IN EFI_MTFTP4_PROTOCOL *This,
IN EFI_MTFTP4_TOKEN *Token
- );
-
+ );
+
/**
@@ -462,17 +449,17 @@ EFI_STATUS @retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP4_WRITE_FILE)(
IN EFI_MTFTP4_PROTOCOL *This,
IN EFI_MTFTP4_TOKEN *Token
- );
-
+ );
+
/**
Downloads a data file "directory" from an MTFTPv4 server. May be unsupported in some EFI
- implementations.
+ implementations.
@param This Pointer to the EFI_MTFTP4_PROTOCOL instance.
@param Token Pointer to the token structure to provide the parameters that are
@@ -492,12 +479,12 @@ EFI_STATUS @retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP4_READ_DIRECTORY)(
IN EFI_MTFTP4_PROTOCOL *This,
IN EFI_MTFTP4_TOKEN *Token
- );
+ );
/**
Polls for incoming data packets and processes outgoing data packets.
@@ -518,13 +505,13 @@ typedef EFI_STATUS
(EFIAPI *EFI_MTFTP4_POLL)(
IN EFI_MTFTP4_PROTOCOL *This
- );
-
+ );
+
///
-/// The EFI_MTFTP4_PROTOCOL is designed to be used by UEFI drivers and applications
-/// to transmit and receive data files. The EFI MTFTPv4 Protocol driver uses
+/// The EFI_MTFTP4_PROTOCOL is designed to be used by UEFI drivers and applications
+/// to transmit and receive data files. The EFI MTFTPv4 Protocol driver uses
/// the underlying EFI UDPv4 Protocol driver and EFI IPv4 Protocol driver.
-///
+///
struct _EFI_MTFTP4_PROTOCOL {
EFI_MTFTP4_GET_MODE_DATA GetModeData;
EFI_MTFTP4_CONFIGURE Configure;
@@ -581,7 +568,7 @@ struct _EFI_MTFTP4_TOKEN { ///
VOID *Buffer;
///
- /// Pointer to the context that will be used by CheckPacket,
+ /// Pointer to the context that will be used by CheckPacket,
/// TimeoutCallback and PacketNeeded.
///
VOID *Context;
@@ -600,7 +587,7 @@ struct _EFI_MTFTP4_TOKEN { };
extern EFI_GUID gEfiMtftp4ServiceBindingProtocolGuid;
-extern EFI_GUID gEfiMtftp4ProtocolGuid;
+extern EFI_GUID gEfiMtftp4ProtocolGuid;
#endif
diff --git a/MdePkg/Include/Protocol/Mtftp6.h b/MdePkg/Include/Protocol/Mtftp6.h index 107a0fe817..f35d42515a 100644 --- a/MdePkg/Include/Protocol/Mtftp6.h +++ b/MdePkg/Include/Protocol/Mtftp6.h @@ -3,16 +3,16 @@ the EFI UDPv6 Protocol and provides basic services for client-side unicast and/or
multicast TFTP operations.
- Copyright (c) 2008 - 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.
-
- @par Revision Reference:
+ Copyright (c) 2008 - 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.
+
+ @par Revision Reference:
This Protocol is introduced in UEFI Specification 2.2
**/
@@ -44,7 +44,7 @@ typedef struct _EFI_MTFTP6_TOKEN EFI_MTFTP6_TOKEN; #define EFI_MTFTP6_OPCODE_ERROR 5 ///< The MTFTPv6 packet is an error packet.
#define EFI_MTFTP6_OPCODE_OACK 6 ///< The MTFTPv6 packet is an option acknowledgement packet.
#define EFI_MTFTP6_OPCODE_DIR 7 ///< The MTFTPv6 packet is a directory query packet.
-#define EFI_MTFTP6_OPCODE_DATA8 8 ///< The MTFTPv6 packet is a data packet with a big block number.
+#define EFI_MTFTP6_OPCODE_DATA8 8 ///< The MTFTPv6 packet is a data packet with a big block number.
#define EFI_MTFTP6_OPCODE_ACK8 9 ///< The MTFTPv6 packet is an acknowledgement packet with a big block number.
///@}
@@ -52,7 +52,7 @@ typedef struct _EFI_MTFTP6_TOKEN EFI_MTFTP6_TOKEN; /// MTFTP ERROR Packet ErrorCodes
///@{
///
-/// The error code is not defined. See the error message in the packet (if any) for details.
+/// The error code is not defined. See the error message in the packet (if any) for details.
///
#define EFI_MTFTP6_ERRORCODE_NOT_DEFINED 0
///
@@ -92,7 +92,7 @@ typedef struct _EFI_MTFTP6_TOKEN EFI_MTFTP6_TOKEN; #pragma pack(1)
///
-/// EFI_MTFTP6_REQ_HEADER
+/// EFI_MTFTP6_REQ_HEADER
///
typedef struct {
///
@@ -107,7 +107,7 @@ typedef struct { } EFI_MTFTP6_REQ_HEADER;
///
-/// EFI_MTFTP6_OACK_HEADER
+/// EFI_MTFTP6_OACK_HEADER
///
typedef struct {
///
@@ -121,7 +121,7 @@ typedef struct { } EFI_MTFTP6_OACK_HEADER;
///
-/// EFI_MTFTP6_DATA_HEADER
+/// EFI_MTFTP6_DATA_HEADER
///
typedef struct {
///
@@ -139,7 +139,7 @@ typedef struct { } EFI_MTFTP6_DATA_HEADER;
///
-/// EFI_MTFTP6_ACK_HEADER
+/// EFI_MTFTP6_ACK_HEADER
///
typedef struct {
///
@@ -153,7 +153,7 @@ typedef struct { } EFI_MTFTP6_ACK_HEADER;
///
-/// EFI_MTFTP6_DATA8_HEADER
+/// EFI_MTFTP6_DATA8_HEADER
///
typedef struct {
///
@@ -171,7 +171,7 @@ typedef struct { } EFI_MTFTP6_DATA8_HEADER;
///
-/// EFI_MTFTP6_ACK8_HEADER
+/// EFI_MTFTP6_ACK8_HEADER
///
typedef struct {
///
@@ -185,7 +185,7 @@ typedef struct { } EFI_MTFTP6_ACK8_HEADER;
///
-/// EFI_MTFTP6_ERROR_HEADER
+/// EFI_MTFTP6_ERROR_HEADER
///
typedef struct {
///
@@ -193,7 +193,7 @@ typedef struct { ///
UINT16 OpCode;
///
- /// The error number as defined by the MTFTPv6 packet error codes.
+ /// The error number as defined by the MTFTPv6 packet error codes.
///
UINT16 ErrorCode;
///
@@ -203,7 +203,7 @@ typedef struct { } EFI_MTFTP6_ERROR_HEADER;
///
-/// EFI_MTFTP6_PACKET
+/// EFI_MTFTP6_PACKET
///
typedef union {
UINT16 OpCode; ///< Type of packets as defined by the MTFTPv6 packet opcodes.
@@ -224,8 +224,8 @@ typedef union { ///
typedef struct {
///
- /// The local IP address to use. Set to zero to let the underlying IPv6
- /// driver choose a source address. If not zero it must be one of the
+ /// The local IP address to use. Set to zero to let the underlying IPv6
+ /// driver choose a source address. If not zero it must be one of the
/// configured IP addresses in the underlying IPv6 driver.
///
EFI_IPv6_ADDRESS StationIp;
@@ -238,8 +238,8 @@ typedef struct { ///
EFI_IPv6_ADDRESS ServerIp;
///
- /// The initial MTFTPv6 server port number. Request packets are
- /// sent to this port. This number is almost always 69 and using zero
+ /// The initial MTFTPv6 server port number. Request packets are
+ /// sent to this port. This number is almost always 69 and using zero
/// defaults to 69.
UINT16 InitialServerPort;
///
@@ -247,7 +247,7 @@ typedef struct { ///
UINT16 TryCount;
///
- /// The number of seconds to wait for a response after sending the MTFTPv6 request packet.
+ /// The number of seconds to wait for a response after sending the MTFTPv6 request packet.
///
UINT16 TimeoutValue;
} EFI_MTFTP6_CONFIG_DATA;
@@ -265,8 +265,8 @@ typedef struct { ///
UINT8 SupportedOptionCount;
///
- /// An array of option strings that are recognized and supported by
- /// this EFI MTFTPv6 Protocol driver implementation. The buffer is
+ /// An array of option strings that are recognized and supported by
+ /// this EFI MTFTPv6 Protocol driver implementation. The buffer is
/// read only to the caller and the caller should NOT free the buffer.
///
UINT8 **SupportedOptions;
@@ -277,24 +277,24 @@ typedef struct { ///
typedef struct {
///
- /// IP address of the MTFTPv6 server. If set to all zero, the value that
- /// was set by the EFI_MTFTP6_PROTOCOL.Configure() function will be used.
+ /// IP address of the MTFTPv6 server. If set to all zero, the value that
+ /// was set by the EFI_MTFTP6_PROTOCOL.Configure() function will be used.
///
EFI_IPv6_ADDRESS ServerIp;
///
- /// MTFTPv6 server port number. If set to zero, it will use the value
- /// that was set by the EFI_MTFTP6_PROTOCOL.Configure() function.
+ /// MTFTPv6 server port number. If set to zero, it will use the value
+ /// that was set by the EFI_MTFTP6_PROTOCOL.Configure() function.
///
UINT16 ServerPort;
///
- /// Number of times to transmit MTFTPv6 request packets and wait
- /// for a response. If set to zero, the value that was set by
+ /// Number of times to transmit MTFTPv6 request packets and wait
+ /// for a response. If set to zero, the value that was set by
/// theEFI_MTFTP6_PROTOCOL.Configure() function will be used.
///
UINT16 TryCount;
///
- /// Number of seconds to wait for a response after sending the
- /// MTFTPv6 request packet. If set to zero, the value that was set by
+ /// Number of seconds to wait for a response after sending the
+ /// MTFTPv6 request packet. If set to zero, the value that was set by
/// the EFI_MTFTP6_PROTOCOL.Configure() function will be used.
///
UINT16 TimeoutValue;
@@ -304,18 +304,18 @@ typedef struct { /// EFI_MTFTP6_OPTION
///
typedef struct {
- UINT8 *OptionStr; ///< Pointer to the ASCIIZ MTFTPv6 option string.
+ UINT8 *OptionStr; ///< Pointer to the ASCIIZ MTFTPv6 option string.
UINT8 *ValueStr; ///< Pointer to the ASCIIZ MTFTPv6 value string.
} EFI_MTFTP6_OPTION;
/**
- EFI_MTFTP6_TIMEOUT_CALLBACK is a callback function that the caller provides to capture the
- timeout event in the EFI_MTFTP6_PROTOCOL.ReadFile(), EFI_MTFTP6_PROTOCOL.WriteFile() or
- EFI_MTFTP6_PROTOCOL.ReadDirectory() functions.
-
+ EFI_MTFTP6_TIMEOUT_CALLBACK is a callback function that the caller provides to capture the
+ timeout event in the EFI_MTFTP6_PROTOCOL.ReadFile(), EFI_MTFTP6_PROTOCOL.WriteFile() or
+ EFI_MTFTP6_PROTOCOL.ReadDirectory() functions.
+
Whenever a timeout occurs, the EFI MTFTPv6 Protocol driver will call the EFI_MTFTP6_TIMEOUT_CALLBACK
function to notify the caller of the timeout event. Any status code other than EFI_SUCCESS
- that is returned from this function will abort the current download process.
+ that is returned from this function will abort the current download process.
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
@param[in] Token The token that the caller provided in the EFI_MTFTP6_PROTOCOl.ReadFile(),
@@ -328,8 +328,8 @@ typedef struct { **/
typedef
-EFI_STATUS
-(EFIAPI *EFI_MTFTP6_CHECK_PACKET)(
+EFI_STATUS
+(EFIAPI *EFI_MTFTP6_CHECK_PACKET)(
IN EFI_MTFTP6_PROTOCOL *This,
IN EFI_MTFTP6_TOKEN *Token,
IN UINT16 PacketLen,
@@ -337,16 +337,16 @@ EFI_STATUS );
/**
- EFI_MTFTP6_TIMEOUT_CALLBACK is a callback function that the caller provides to capture the
- timeout event in the EFI_MTFTP6_PROTOCOL.ReadFile(), EFI_MTFTP6_PROTOCOL.WriteFile() or
- EFI_MTFTP6_PROTOCOL.ReadDirectory() functions.
-
+ EFI_MTFTP6_TIMEOUT_CALLBACK is a callback function that the caller provides to capture the
+ timeout event in the EFI_MTFTP6_PROTOCOL.ReadFile(), EFI_MTFTP6_PROTOCOL.WriteFile() or
+ EFI_MTFTP6_PROTOCOL.ReadDirectory() functions.
+
Whenever a timeout occurs, the EFI MTFTPv6 Protocol driver will call the EFI_MTFTP6_TIMEOUT_CALLBACK
function to notify the caller of the timeout event. Any status code other than EFI_SUCCESS
- that is returned from this function will abort the current download process.
+ that is returned from this function will abort the current download process.
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
- @param[in] Token The token that is provided in the EFI_MTFTP6_PROTOCOL.ReadFile() or
+ @param[in] Token The token that is provided in the EFI_MTFTP6_PROTOCOL.ReadFile() or
EFI_MTFTP6_PROTOCOL.WriteFile() or EFI_MTFTP6_PROTOCOL.ReadDirectory()
functions by the caller.
@@ -354,17 +354,17 @@ EFI_STATUS @retval Others Aborts session.
**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_MTFTP6_TIMEOUT_CALLBACK)(
+typedef
+EFI_STATUS
+(EFIAPI *EFI_MTFTP6_TIMEOUT_CALLBACK)(
IN EFI_MTFTP6_PROTOCOL *This,
IN EFI_MTFTP6_TOKEN *Token
);
/**
- EFI_MTFTP6_PACKET_NEEDED is a callback function that the caller provides to feed data to the
- EFI_MTFTP6_PROTOCOL.WriteFile() function.
-
+ EFI_MTFTP6_PACKET_NEEDED is a callback function that the caller provides to feed data to the
+ EFI_MTFTP6_PROTOCOL.WriteFile() function.
+
EFI_MTFTP6_PACKET_NEEDED provides another mechanism for the caller to provide data to upload
other than a static buffer. The EFI MTFTP6 Protocol driver always calls EFI_MTFTP6_PACKET_NEEDED
to get packet data from the caller if no static buffer was given in the initial call to
@@ -373,7 +373,7 @@ EFI_STATUS @param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
@param[in] Token The token provided in the EFI_MTFTP6_PROTOCOL.WriteFile() by the caller.
- @param[in, out] Length Indicates the length of the raw data wanted on input, and the
+ @param[in, out] Length Indicates the length of the raw data wanted on input, and the
length the data available on output.
@param[out] Buffer Pointer to the buffer where the data is stored.
@@ -381,9 +381,9 @@ EFI_STATUS @retval Others Aborts session.
**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_MTFTP6_PACKET_NEEDED)(
+typedef
+EFI_STATUS
+(EFIAPI *EFI_MTFTP6_PACKET_NEEDED)(
IN EFI_MTFTP6_PROTOCOL *This,
IN EFI_MTFTP6_TOKEN *Token,
IN OUT UINT16 *Length,
@@ -392,20 +392,20 @@ EFI_STATUS struct _EFI_MTFTP6_TOKEN {
///
- /// The status that is returned to the caller at the end of the operation
- /// to indicate whether this operation completed successfully.
+ /// The status that is returned to the caller at the end of the operation
+ /// to indicate whether this operation completed successfully.
/// Defined Status values are listed below.
///
EFI_STATUS Status;
///
- /// The event that will be signaled when the operation completes. If
- /// set to NULL, the corresponding function will wait until the read or
- /// write operation finishes. The type of Event must be EVT_NOTIFY_SIGNAL.
+ /// The event that will be signaled when the operation completes. If
+ /// set to NULL, the corresponding function will wait until the read or
+ /// write operation finishes. The type of Event must be EVT_NOTIFY_SIGNAL.
///
EFI_EVENT Event;
///
- /// If not NULL, the data that will be used to override the existing
- /// configure data.
+ /// If not NULL, the data that will be used to override the existing
+ /// configure data.
///
EFI_MTFTP6_OVERRIDE_DATA *OverrideData;
///
@@ -421,32 +421,32 @@ struct _EFI_MTFTP6_TOKEN { ///
UINT32 OptionCount;
///
- /// Pointer to an array of option/value string pairs. Ignored if
- /// OptionCount is zero. Both a remote server and this driver
- /// implementation should support these options. If one or more
- /// options are unrecognized by this implementation, it is sent to the
+ /// Pointer to an array of option/value string pairs. Ignored if
+ /// OptionCount is zero. Both a remote server and this driver
+ /// implementation should support these options. If one or more
+ /// options are unrecognized by this implementation, it is sent to the
/// remote server without being changed.
///
EFI_MTFTP6_OPTION *OptionList;
///
- /// On input, the size, in bytes, of Buffer. On output, the number
+ /// On input, the size, in bytes, of Buffer. On output, the number
/// of bytes transferred.
///
- UINT64 BufferSize;
+ UINT64 BufferSize;
///
- /// Pointer to the data buffer. Data that is downloaded from the
- /// MTFTPv6 server is stored here. Data that is uploaded to the
+ /// Pointer to the data buffer. Data that is downloaded from the
+ /// MTFTPv6 server is stored here. Data that is uploaded to the
/// MTFTPv6 server is read from here. Ignored if BufferSize is zero.
///
VOID *Buffer;
///
- /// Pointer to the context that will be used by CheckPacket,
+ /// Pointer to the context that will be used by CheckPacket,
/// TimeoutCallback and PacketNeeded.
///
VOID *Context;
///
- /// Pointer to the callback function to check the contents of the
- /// received packet.
+ /// Pointer to the callback function to check the contents of the
+ /// received packet.
///
EFI_MTFTP6_CHECK_PACKET CheckPacket;
///
@@ -454,7 +454,7 @@ struct _EFI_MTFTP6_TOKEN { ///
EFI_MTFTP6_TIMEOUT_CALLBACK TimeoutCallback;
///
- /// Pointer to the function to provide the needed packet contents.
+ /// Pointer to the function to provide the needed packet contents.
/// Only used in WriteFile() operation.
///
EFI_MTFTP6_PACKET_NEEDED PacketNeeded;
@@ -462,7 +462,7 @@ struct _EFI_MTFTP6_TOKEN { /**
Read the current operational settings.
-
+
The GetModeData() function reads the current operational settings of this EFI MTFTPv6
Protocol driver instance.
@@ -475,8 +475,8 @@ struct _EFI_MTFTP6_TOKEN { @retval EFI_INVALID_PARAMETER This is NULL or ModeData is NULL.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP6_GET_MODE_DATA)(
IN EFI_MTFTP6_PROTOCOL *This,
OUT EFI_MTFTP6_MODE_DATA *ModeData
@@ -485,42 +485,38 @@ EFI_STATUS /**
Initializes, changes, or resets the default operational setting for this EFI MTFTPv6
Protocol driver instance.
-
- The Configure() function is used to set and change the configuration data for this EFI
- MTFTPv6 Protocol driver instance. The configuration data can be reset to startup defaults by calling
- Configure() with MtftpConfigData set to NULL. Whenever the instance is reset, any
- pending operation is aborted. By changing the EFI MTFTPv6 Protocol driver instance configuration
- data, the client can connect to different MTFTPv6 servers. The configuration parameters in
- MtftpConfigData are used as the default parameters in later MTFTPv6 operations and can be
+
+ The Configure() function is used to set and change the configuration data for this EFI
+ MTFTPv6 Protocol driver instance. The configuration data can be reset to startup defaults by calling
+ Configure() with MtftpConfigData set to NULL. Whenever the instance is reset, any
+ pending operation is aborted. By changing the EFI MTFTPv6 Protocol driver instance configuration
+ data, the client can connect to different MTFTPv6 servers. The configuration parameters in
+ MtftpConfigData are used as the default parameters in later MTFTPv6 operations and can be
overridden in later operations.
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
- @param[in] MtftpConfigData Pointer to the configuration data structure.
+ @param[in] MtftpConfigData Pointer to the configuration data structure.
@retval EFI_SUCCESS The EFI MTFTPv6 Protocol instance was configured successfully.
@retval EFI_INVALID_PARAMETER One or more following conditions are TRUE:
- This is NULL.
- - MtftpConfigData.StationIp is neither zero nor one
+ - MtftpConfigData.StationIp is neither zero nor one
of the configured IP addresses in the underlying IPv6 driver.
- MtftpCofigData.ServerIp is not a valid IPv6 unicast address.
- Note: It does not match UEFI 2.3 Specification.
- @retval EFI_ACCESS_DENIED - The configuration could not be changed at this time because there
+ @retval EFI_ACCESS_DENIED - The configuration could not be changed at this time because there
is some MTFTP background operation in progress.
- MtftpCofigData.LocalPort is already in use.
- Note: It does not match UEFI 2.3 Specification.
- @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
+ @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
address for this instance, but no source address was available for use.
- @retval EFI_OUT_OF_RESOURCES The EFI MTFTPv6 Protocol driver instance data could not be
+ @retval EFI_OUT_OF_RESOURCES The EFI MTFTPv6 Protocol driver instance data could not be
allocated.
- Note: It is not defined in UEFI 2.3 Specification.
- @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI
+ @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI
MTFTPv6 Protocol driver instance is not configured.
- Note: It is not defined in UEFI 2.3 Specification.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP6_CONFIGURE)(
IN EFI_MTFTP6_PROTOCOL *This,
IN EFI_MTFTP6_CONFIG_DATA *MtftpConfigData OPTIONAL
@@ -528,27 +524,26 @@ EFI_STATUS /**
Get information about a file from an MTFTPv6 server.
-
- The GetInfo() function assembles an MTFTPv6 request packet with options, sends it to the
- MTFTPv6 server, and may return an MTFTPv6 OACK, MTFTPv6 ERROR, or ICMP ERROR packet.
- Retries occur only if no response packets are received from the MTFTPv6 server before the
+
+ The GetInfo() function assembles an MTFTPv6 request packet with options, sends it to the
+ MTFTPv6 server, and may return an MTFTPv6 OACK, MTFTPv6 ERROR, or ICMP ERROR packet.
+ Retries occur only if no response packets are received from the MTFTPv6 server before the
timeout expires.
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
- @param[in] OverrideData Data that is used to override the existing parameters. If NULL, the
+ @param[in] OverrideData Data that is used to override the existing parameters. If NULL, the
default parameters that were set in the EFI_MTFTP6_PROTOCOL.Configure()
- function are used.
+ function are used.
@param[in] Filename Pointer to ASCIIZ file name string.
- @param[in] ModeStr Pointer to ASCIIZ mode string. If NULL, octet will be used
+ @param[in] ModeStr Pointer to ASCIIZ mode string. If NULL, octet will be used
@param[in] OptionCount Number of option/value string pairs in OptionList.
- @param[in] OptionList Pointer to array of option/value string pairs. Ignored if
+ @param[in] OptionList Pointer to array of option/value string pairs. Ignored if
OptionCount is zero.
@param[out] PacketLength The number of bytes in the returned packet.
- @param[out] Packet The pointer to the received packet. This buffer must be freed by
+ @param[out] Packet The pointer to the received packet. This buffer must be freed by
the caller.
@retval EFI_SUCCESS An MTFTPv6 OACK packet was received and is in the Packet.
- Note: It does not match UEFI 2.3 Specification.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
- Filename is NULL
@@ -556,31 +551,27 @@ EFI_STATUS - One or more options in OptionList have wrong format.
- PacketLength is NULL.
- OverrideData.ServerIp is not valid unicast IPv6 addresses.
- @retval EFI_UNSUPPORTED One or more options in the OptionList are unsupported by
+ @retval EFI_UNSUPPORTED One or more options in the OptionList are unsupported by
this implementation.
@retval EFI_NOT_STARTED The EFI MTFTPv6 Protocol driver has not been started.
- @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
+ @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
address for this instance, but no source address was available for use.
@retval EFI_ACCESS_DENIED The previous operation has not completed yet.
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
@retval EFI_TFTP_ERROR An MTFTPv6 ERROR packet was received and is in the Packet.
@retval EFI_NETWORK_UNREACHABLE An ICMP network unreachable error packet was received and the Packet is set to NULL.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_HOST_UNREACHABLE An ICMP host unreachable error packet was received and the Packet is set to NULL.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_PROTOCOL_UNREACHABLE An ICMP protocol unreachable error packet was received and the Packet is set to NULL.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_PORT_UNREACHABLE An ICMP port unreachable error packet was received and the Packet is set to NULL.
@retval EFI_ICMP_ERROR Some other ICMP ERROR packet was received and the Packet is set to NULL.
- Note: It does not match UEFI 2.3 Specification.
@retval EFI_PROTOCOL_ERROR An unexpected MTFTPv6 packet was received and is in the Packet.
@retval EFI_TIMEOUT No responses were received from the MTFTPv6 server.
@retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
@retval EFI_NO_MEDIA There was a media error.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP6_GET_INFO)(
IN EFI_MTFTP6_PROTOCOL *This,
IN EFI_MTFTP6_OVERRIDE_DATA *OverrideData OPTIONAL,
@@ -595,23 +586,23 @@ EFI_STATUS /**
Parse the options in an MTFTPv6 OACK packet.
- The ParseOptions() function parses the option fields in an MTFTPv6 OACK packet and
- returns the number of options that were found and optionally a list of pointers to
+ The ParseOptions() function parses the option fields in an MTFTPv6 OACK packet and
+ returns the number of options that were found and optionally a list of pointers to
the options in the packet.
If one or more of the option fields are not valid, then EFI_PROTOCOL_ERROR is returned
and *OptionCount and *OptionList stop at the last valid option.
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
@param[in] PacketLen Length of the OACK packet to be parsed.
- @param[in] Packet Pointer to the OACK packet to be parsed.
- @param[out] OptionCount Pointer to the number of options in the following OptionList.
- @param[out] OptionList Pointer to EFI_MTFTP6_OPTION storage. Each pointer in the
- OptionList points to the corresponding MTFTP option buffer
- in the Packet. Call the EFI Boot Service FreePool() to
- release the OptionList if the options in this OptionList
- are not needed any more.
-
- @retval EFI_SUCCESS The OACK packet was valid and the OptionCount and
+ @param[in] Packet Pointer to the OACK packet to be parsed.
+ @param[out] OptionCount Pointer to the number of options in the following OptionList.
+ @param[out] OptionList Pointer to EFI_MTFTP6_OPTION storage. Each pointer in the
+ OptionList points to the corresponding MTFTP option buffer
+ in the Packet. Call the EFI Boot Service FreePool() to
+ release the OptionList if the options in this OptionList
+ are not needed any more.
+
+ @retval EFI_SUCCESS The OACK packet was valid and the OptionCount and
OptionList parameters have been updated.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- PacketLen is 0.
@@ -622,8 +613,8 @@ EFI_STATUS @retval EFI_PROTOCOL_ERROR One or more of the option fields is invalid.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP6_PARSE_OPTIONS)(
IN EFI_MTFTP6_PROTOCOL *This,
IN UINT32 PacketLen,
@@ -635,36 +626,31 @@ EFI_STATUS /**
Download a file from an MTFTPv6 server.
- The ReadFile() function is used to initialize and start an MTFTPv6 download process and
- optionally wait for completion. When the download operation completes, whether successfully or
- not, the Token.Status field is updated by the EFI MTFTPv6 Protocol driver and then
+ The ReadFile() function is used to initialize and start an MTFTPv6 download process and
+ optionally wait for completion. When the download operation completes, whether successfully or
+ not, the Token.Status field is updated by the EFI MTFTPv6 Protocol driver and then
Token.Event is signaled if it is not NULL.
-
+
Data can be downloaded from the MTFTPv6 server into either of the following locations:
- - A fixed buffer that is pointed to by Token.Buffer
- - A download service function that is pointed to by Token.CheckPacket
+ - A fixed buffer that is pointed to by Token.Buffer
+ - A download service function that is pointed to by Token.CheckPacket
- If both Token.Buffer and Token.CheckPacket are used, then Token.CheckPacket
+ If both Token.Buffer and Token.CheckPacket are used, then Token.CheckPacket
will be called first. If the call is successful, the packet will be stored in Token.Buffer.
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
- @param[in] Token Pointer to the token structure to provide the parameters that are
+ @param[in] Token Pointer to the token structure to provide the parameters that are
used in this operation.
@retval EFI_SUCCESS The data file has been transferred successfully.
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
@retval EFI_BUFFER_TOO_SMALL BufferSize is not zero but not large enough to hold the
downloaded data in downloading process.
- Note: It does not match UEFI 2.3 Specification.
@retval EFI_ABORTED Current operation is aborted by user.
@retval EFI_NETWORK_UNREACHABLE An ICMP network unreachable error packet was received.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_HOST_UNREACHABLE An ICMP host unreachable error packet was received.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_PROTOCOL_UNREACHABLE An ICMP protocol unreachable error packet was received.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_PORT_UNREACHABLE An ICMP port unreachable error packet was received.
- Note: It is not defined in UEFI 2.3 Specification.
@retval EFI_ICMP_ERROR An ICMP ERROR packet was received.
@retval EFI_TIMEOUT No responses were received from the MTFTPv6 server.
@retval EFI_TFTP_ERROR An MTFTPv6 ERROR packet was received.
@@ -672,8 +658,8 @@ EFI_STATUS @retval EFI_NO_MEDIA There was a media error.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP6_READ_FILE)(
IN EFI_MTFTP6_PROTOCOL *This,
IN EFI_MTFTP6_TOKEN *Token
@@ -682,25 +668,25 @@ EFI_STATUS /**
Send a file to an MTFTPv6 server. May be unsupported in some implementations.
- The WriteFile() function is used to initialize an uploading operation with the given option list
- and optionally wait for completion. If one or more of the options is not supported by the server, the
- unsupported options are ignored and a standard TFTP process starts instead. When the upload
- process completes, whether successfully or not, Token.Event is signaled, and the EFI MTFTPv6
+ The WriteFile() function is used to initialize an uploading operation with the given option list
+ and optionally wait for completion. If one or more of the options is not supported by the server, the
+ unsupported options are ignored and a standard TFTP process starts instead. When the upload
+ process completes, whether successfully or not, Token.Event is signaled, and the EFI MTFTPv6
Protocol driver updates Token.Status.
The caller can supply the data to be uploaded in the following two modes:
- Through the user-provided buffer
- Through a callback function
- With the user-provided buffer, the Token.BufferSize field indicates the length of the buffer,
- and the driver will upload the data in the buffer. With an EFI_MTFTP6_PACKET_NEEDED
- callback function, the driver will call this callback function to get more data from the user to upload.
- See the definition of EFI_MTFTP6_PACKET_NEEDED for more information. These two modes
- cannot be used at the same time. The callback function will be ignored if the user provides the
+ With the user-provided buffer, the Token.BufferSize field indicates the length of the buffer,
+ and the driver will upload the data in the buffer. With an EFI_MTFTP6_PACKET_NEEDED
+ callback function, the driver will call this callback function to get more data from the user to upload.
+ See the definition of EFI_MTFTP6_PACKET_NEEDED for more information. These two modes
+ cannot be used at the same time. The callback function will be ignored if the user provides the
buffer.
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
- @param[in] Token Pointer to the token structure to provide the parameters that are
+ @param[in] Token Pointer to the token structure to provide the parameters that are
used in this operation.
@retval EFI_SUCCESS The upload session has started.
@@ -713,10 +699,10 @@ EFI_STATUS - One or more options in Token.OptionList have wrong format.
- Token.Buffer and Token.PacketNeeded are both NULL.
- Token.OverrideData.ServerIp is not valid unicast IPv6 addresses.
- @retval EFI_UNSUPPORTED One or more options in the Token.OptionList are not
+ @retval EFI_UNSUPPORTED One or more options in the Token.OptionList are not
supported by this implementation.
@retval EFI_NOT_STARTED The EFI MTFTPv6 Protocol driver has not been started.
- @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
+ @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
address for this instance, but no source address was available for use.
@retval EFI_ALREADY_STARTED This Token is already being used in another MTFTPv6 session.
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
@@ -724,8 +710,8 @@ EFI_STATUS @retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP6_WRITE_FILE)(
IN EFI_MTFTP6_PROTOCOL *This,
IN EFI_MTFTP6_TOKEN *Token
@@ -734,31 +720,31 @@ EFI_STATUS /**
Download a data file directory from an MTFTPv6 server. May be unsupported in some implementations.
- The ReadDirectory() function is used to return a list of files on the MTFTPv6 server that are
- logically (or operationally) related to Token.Filename. The directory request packet that is sent
+ The ReadDirectory() function is used to return a list of files on the MTFTPv6 server that are
+ logically (or operationally) related to Token.Filename. The directory request packet that is sent
to the server is built with the option list that was provided by caller, if present.
-
+
The file information that the server returns is put into either of the following locations:
- - A fixed buffer that is pointed to by Token.Buffer
- - A download service function that is pointed to by Token.CheckPacket
-
- If both Token.Buffer and Token.CheckPacket are used, then Token.CheckPacket
+ - A fixed buffer that is pointed to by Token.Buffer
+ - A download service function that is pointed to by Token.CheckPacket
+
+ If both Token.Buffer and Token.CheckPacket are used, then Token.CheckPacket
will be called first. If the call is successful, the packet will be stored in Token.Buffer.
-
- The returned directory listing in the Token.Buffer or EFI_MTFTP6_PACKET consists of a list
- of two or three variable-length ASCII strings, each terminated by a null character, for each file in the
- directory. If the multicast option is involved, the first field of each directory entry is the static
- multicast IP address and UDP port number that is associated with the file name. The format of the
- field is ip:ip:ip:ip:port. If the multicast option is not involved, this field and its terminating
+
+ The returned directory listing in the Token.Buffer or EFI_MTFTP6_PACKET consists of a list
+ of two or three variable-length ASCII strings, each terminated by a null character, for each file in the
+ directory. If the multicast option is involved, the first field of each directory entry is the static
+ multicast IP address and UDP port number that is associated with the file name. The format of the
+ field is ip:ip:ip:ip:port. If the multicast option is not involved, this field and its terminating
null character are not present.
-
- The next field of each directory entry is the file name and the last field is the file information string.
- The information string contains the file size and the create/modify timestamp. The format of the
- information string is filesize yyyy-mm-dd hh:mm:ss:ffff. The timestamp is
+
+ The next field of each directory entry is the file name and the last field is the file information string.
+ The information string contains the file size and the create/modify timestamp. The format of the
+ information string is filesize yyyy-mm-dd hh:mm:ss:ffff. The timestamp is
Coordinated Universal Time (UTC; also known as Greenwich Mean Time [GMT]).
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
- @param[in] Token Pointer to the token structure to provide the parameters that are
+ @param[in] Token Pointer to the token structure to provide the parameters that are
used in this operation.
@retval EFI_SUCCESS The MTFTPv6 related file "directory" has been downloaded.
@@ -771,10 +757,10 @@ EFI_STATUS - One or more options in Token.OptionList have wrong format.
- Token.Buffer and Token.CheckPacket are both NULL.
- Token.OverrideData.ServerIp is not valid unicast IPv6 addresses.
- @retval EFI_UNSUPPORTED One or more options in the Token.OptionList are not
+ @retval EFI_UNSUPPORTED One or more options in the Token.OptionList are not
supported by this implementation.
@retval EFI_NOT_STARTED The EFI MTFTPv6 Protocol driver has not been started.
- @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
+ @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
address for this instance, but no source address was available for use.
@retval EFI_ALREADY_STARTED This Token is already being used in another MTFTPv6 session.
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
@@ -782,29 +768,29 @@ EFI_STATUS @retval EFI_DEVICE_ERROR An unexpected network error or system error occurred.
**/
-typedef
-EFI_STATUS
+typedef
+EFI_STATUS
(EFIAPI *EFI_MTFTP6_READ_DIRECTORY)(
IN EFI_MTFTP6_PROTOCOL *This,
IN EFI_MTFTP6_TOKEN *Token
);
/**
- Polls for incoming data packets and processes outgoing data packets.
+ Polls for incoming data packets and processes outgoing data packets.
- The Poll() function can be used by network drivers and applications to increase the rate that data
+ The Poll() function can be used by network drivers and applications to increase the rate that data
packets are moved between the communications device and the transmit and receive queues.
- In some systems, the periodic timer event in the managed network driver may not poll the
- underlying communications device fast enough to transmit and/or receive all data packets without
- missing incoming packets or dropping outgoing packets. Drivers and applications that are
- experiencing packet loss should try calling the Poll() function more often.
+ In some systems, the periodic timer event in the managed network driver may not poll the
+ underlying communications device fast enough to transmit and/or receive all data packets without
+ missing incoming packets or dropping outgoing packets. Drivers and applications that are
+ experiencing packet loss should try calling the Poll() function more often.
@param[in] This Pointer to the EFI_MTFTP6_PROTOCOL instance.
@retval EFI_SUCCESS Incoming or outgoing data was processed.
@retval EFI_NOT_STARTED This EFI MTFTPv6 Protocol instance has not been started.
@retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
+ @retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
@retval EFI_TIMEOUT Data was dropped out of the transmit and/or receive queue.
Consider increasing the polling rate.
@@ -816,8 +802,8 @@ EFI_STATUS );
///
-/// The EFI_MTFTP6_PROTOCOL is designed to be used by UEFI drivers and applications to transmit
-/// and receive data files. The EFI MTFTPv6 Protocol driver uses the underlying EFI UDPv6 Protocol
+/// The EFI_MTFTP6_PROTOCOL is designed to be used by UEFI drivers and applications to transmit
+/// and receive data files. The EFI MTFTPv6 Protocol driver uses the underlying EFI UDPv6 Protocol
/// driver and EFI IPv6 Protocol driver.
///
struct _EFI_MTFTP6_PROTOCOL {
diff --git a/MdePkg/Include/Protocol/Tcp4.h b/MdePkg/Include/Protocol/Tcp4.h index 3ea69c2c7e..82c7344c3e 100644 --- a/MdePkg/Include/Protocol/Tcp4.h +++ b/MdePkg/Include/Protocol/Tcp4.h @@ -13,7 +13,7 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- @par Revision Reference:
+ @par Revision Reference:
This Protocol is introduced in UEFI Specification 2.0
**/
@@ -119,32 +119,31 @@ typedef struct { typedef struct {
///
- /// The Status in the CompletionToken will be set to one of
- /// the following values if the active open succeeds or an unexpected
+ /// The Status in the CompletionToken will be set to one of
+ /// the following values if the active open succeeds or an unexpected
/// error happens:
- /// EFI_SUCCESS: The active open succeeds and the instance's
+ /// EFI_SUCCESS: The active open succeeds and the instance's
/// state is Tcp4StateEstablished.
/// EFI_CONNECTION_RESET: The connect fails because the connection is reset
/// either by instance itself or the communication peer.
/// EFI_CONNECTION_REFUSED: The connect fails because this connection is initiated with
/// an active open and the connection is refused.
- /// Note: It is not defined in UEFI 2.3 Specification.
/// EFI_ABORTED: The active open is aborted.
- /// EFI_TIMEOUT: The connection establishment timer expires and
+ /// EFI_TIMEOUT: The connection establishment timer expires and
/// no more specific information is available.
- /// EFI_NETWORK_UNREACHABLE: The active open fails because
- /// an ICMP network unreachable error is received.
- /// EFI_HOST_UNREACHABLE: The active open fails because an
- /// ICMP host unreachable error is received.
- /// EFI_PROTOCOL_UNREACHABLE: The active open fails
+ /// EFI_NETWORK_UNREACHABLE: The active open fails because
+ /// an ICMP network unreachable error is received.
+ /// EFI_HOST_UNREACHABLE: The active open fails because an
+ /// ICMP host unreachable error is received.
+ /// EFI_PROTOCOL_UNREACHABLE: The active open fails
/// because an ICMP protocol unreachable error is received.
- /// EFI_PORT_UNREACHABLE: The connection establishment
+ /// EFI_PORT_UNREACHABLE: The connection establishment
/// timer times out and an ICMP port unreachable error is received.
/// EFI_ICMP_ERROR: The connection establishment timer timeout and some other ICMP
/// error is received.
/// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
/// EFI_NO_MEDIA: There was a media error.
- ///
+ ///
EFI_TCP4_COMPLETION_TOKEN CompletionToken;
} EFI_TCP4_CONNECTION_TOKEN;
@@ -174,31 +173,30 @@ typedef struct { } EFI_TCP4_TRANSMIT_DATA;
typedef struct {
- ///
- /// When transmission finishes or meets any unexpected error it will
+ ///
+ /// When transmission finishes or meets any unexpected error it will
/// be set to one of the following values:
- /// EFI_SUCCESS: The receiving or transmission operation
+ /// EFI_SUCCESS: The receiving or transmission operation
/// completes successfully.
- /// EFI_CONNECTION_FIN: The receiving operation fails because the communication peer
- /// has closed the connection and there is no more data in the
+ /// EFI_CONNECTION_FIN: The receiving operation fails because the communication peer
+ /// has closed the connection and there is no more data in the
/// receive buffer of the instance.
- /// Note: It is not defined in UEFI 2.3 Specification.
/// EFI_CONNECTION_RESET: The receiving or transmission operation fails
- /// because this connection is reset either by instance
+ /// because this connection is reset either by instance
/// itself or the communication peer.
/// EFI_ABORTED: The receiving or transmission is aborted.
- /// EFI_TIMEOUT: The transmission timer expires and no more
+ /// EFI_TIMEOUT: The transmission timer expires and no more
/// specific information is available.
- /// EFI_NETWORK_UNREACHABLE: The transmission fails
- /// because an ICMP network unreachable error is received.
- /// EFI_HOST_UNREACHABLE: The transmission fails because an
- /// ICMP host unreachable error is received.
- /// EFI_PROTOCOL_UNREACHABLE: The transmission fails
- /// because an ICMP protocol unreachable error is received.
- /// EFI_PORT_UNREACHABLE: The transmission fails and an
- /// ICMP port unreachable error is received.
- /// EFI_ICMP_ERROR: The transmission fails and some other
- /// ICMP error is received.
+ /// EFI_NETWORK_UNREACHABLE: The transmission fails
+ /// because an ICMP network unreachable error is received.
+ /// EFI_HOST_UNREACHABLE: The transmission fails because an
+ /// ICMP host unreachable error is received.
+ /// EFI_PROTOCOL_UNREACHABLE: The transmission fails
+ /// because an ICMP protocol unreachable error is received.
+ /// EFI_PORT_UNREACHABLE: The transmission fails and an
+ /// ICMP port unreachable error is received.
+ /// EFI_ICMP_ERROR: The transmission fails and some other
+ /// ICMP error is received.
/// EFI_DEVICE_ERROR: An unexpected system or network error occurs.
/// EFI_NO_MEDIA: There was a media error.
///
@@ -512,11 +510,10 @@ EFI_STATUS @retval EFI_NOT_STARTED This instance hasn't been configured.
@retval EFI_NO_MAPPING When using the default address, configuration
(DHCP, BOOTP,RARP, etc.) hasn't finished yet.
- @retval EFI_NOT_FOUND The asynchronous I/O request isn't found in the
- transmission or receive queue. It has either
+ @retval EFI_NOT_FOUND The asynchronous I/O request isn't found in the
+ transmission or receive queue. It has either
completed or wasn't issued by Transmit() and Receive().
@retval EFI_UNSUPPORTED The implementation does not support this function.
- Note: It is not defined in UEFI 2.3 Specification.
**/
typedef
@@ -547,10 +544,10 @@ EFI_STATUS );
///
-/// The EFI_TCP4_PROTOCOL defines the EFI TCPv4 Protocol child to be used by
-/// any network drivers or applications to send or receive data stream.
-/// It can either listen on a specified port as a service or actively connected
-/// to remote peer as a client. Each instance has its own independent settings,
+/// The EFI_TCP4_PROTOCOL defines the EFI TCPv4 Protocol child to be used by
+/// any network drivers or applications to send or receive data stream.
+/// It can either listen on a specified port as a service or actively connected
+/// to remote peer as a client. Each instance has its own independent settings,
/// such as the routing table.
///
struct _EFI_TCP4_PROTOCOL {
diff --git a/MdePkg/Include/Protocol/Tcp6.h b/MdePkg/Include/Protocol/Tcp6.h index fc1f9ef04e..ed8d44bdb5 100644 --- a/MdePkg/Include/Protocol/Tcp6.h +++ b/MdePkg/Include/Protocol/Tcp6.h @@ -13,7 +13,7 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- @par Revision Reference:
+ @par Revision Reference:
This Protocol is introduced in UEFI Specification 2.2
**/
@@ -42,33 +42,33 @@ typedef struct _EFI_TCP6_PROTOCOL EFI_TCP6_PROTOCOL; ///
typedef struct {
///
- /// The EFI TCPv6 Protocol instance handle that is using this
+ /// The EFI TCPv6 Protocol instance handle that is using this
/// address/port pair.
///
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
+ ///
+ /// 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;
- ///
+ ///
/// The local port number in host byte order.
- ///
+ ///
UINT16 LocalPort;
- ///
- /// The remote IPv6 address. It may be 0::/128 if this TCP instance is
- /// not connected to any remote host.
- ///
+ ///
+ /// The remote IPv6 address. It may be 0::/128 if this TCP instance is
+ /// not connected to any remote host.
+ ///
EFI_IPv6_ADDRESS RemoteAddress;
- ///
- /// The remote port number in host byte order. It may be zero if this
+ ///
+ /// 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;
} EFI_TCP6_SERVICE_POINT;
-///
+///
/// EFI_TCP6_VARIABLE_DATA
///
typedef struct {
@@ -81,46 +81,46 @@ typedef struct { /// EFI_TCP6_ACCESS_POINT
///
typedef struct {
- ///
- /// The local IP address assigned to this TCP instance. The EFI
- /// TCPv6 driver will only deliver incoming packets whose
- /// destination addresses exactly match the IP address. Set to zero to
- /// let the underlying IPv6 driver choose a source address. If not zero
- /// it must be one of the configured IP addresses in the underlying
+ ///
+ /// The local IP address assigned to this TCP instance. The EFI
+ /// TCPv6 driver will only deliver incoming packets whose
+ /// destination addresses exactly match the IP address. Set to zero to
+ /// let the underlying IPv6 driver choose a source address. If not zero
+ /// it must be one of the configured IP addresses in the underlying
/// IPv6 driver.
- ///
+ ///
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
+ ///
+ /// 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;
- ///
- /// The remote IP address to which this EFI TCPv6 Protocol instance
- /// is connected. If ActiveFlag is FALSE (i.e. a passive TCPv6
- /// instance), the instance only accepts connections from the
- /// RemoteAddress. If ActiveFlag is TRUE the instance will
- /// connect to the RemoteAddress, i.e., outgoing segments will be
- /// sent to this address and only segments from this address will be
- /// delivered to the application. When ActiveFlag is FALSE, it
- /// can be set to zero and means that incoming connection requests
+ ///
+ /// The remote IP address to which this EFI TCPv6 Protocol instance
+ /// is connected. If ActiveFlag is FALSE (i.e. a passive TCPv6
+ /// instance), the instance only accepts connections from the
+ /// RemoteAddress. If ActiveFlag is TRUE the instance will
+ /// connect to the RemoteAddress, i.e., outgoing segments will be
+ /// sent to this address and only segments from this address will be
+ /// delivered to the application. When ActiveFlag is FALSE, it
+ /// can be set to zero and means that incoming connection requests
/// from any address will be accepted.
- ///
+ ///
EFI_IPv6_ADDRESS RemoteAddress;
- ///
- /// The remote port to which this EFI TCPv6 Protocol instance
- /// connects or from which connection request will be accepted by
- /// this EFI TCPv6 Protocol instance. If ActiveFlag is FALSE it
- /// can be zero and means that incoming connection request from
- /// any port will be accepted. Its value can not be zero when
+ ///
+ /// The remote port to which this EFI TCPv6 Protocol instance
+ /// connects or from which connection request will be accepted by
+ /// this EFI TCPv6 Protocol instance. If ActiveFlag is FALSE it
+ /// can be zero and means that incoming connection request from
+ /// any port will be accepted. Its value can not be zero when
/// ActiveFlag is TRUE.
- ///
+ ///
UINT16 RemotePort;
- ///
- /// Set it to TRUE to initiate an active open. Set it to FALSE to
+ ///
+ /// 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;
} EFI_TCP6_ACCESS_POINT;
@@ -128,94 +128,94 @@ typedef struct { /// EFI_TCP6_OPTION
///
typedef struct {
- ///
+ ///
/// The size of the TCP receive buffer.
- ///
+ ///
UINT32 ReceiveBufferSize;
- ///
+ ///
/// The size of the TCP send buffer.
- ///
+ ///
UINT32 SendBufferSize;
- ///
- /// The length of incoming connect request queue for a passive
+ ///
+ /// The length of incoming connect request queue for a passive
/// instance. When set to zero, the value is implementation specific.
- ///
+ ///
UINT32 MaxSynBackLog;
- ///
- /// The maximum seconds a TCP instance will wait for before a TCP
- /// connection established. When set to zero, the value is
+ ///
+ /// 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;
///
- ///The number of times TCP will attempt to retransmit a packet on
- ///an established connection. When set to zero, the value is
+ ///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;
- ///
- /// 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
- /// effective only if the application has called Close() to
- /// disconnect the connection completely. It is also called
- /// FIN_WAIT_2 timer in other implementations. When set to zero,
- /// it should be disabled because the FIN_WAIT_2 timer itself is
+ ///
+ /// 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
+ /// effective only if the application has called Close() to
+ /// disconnect the connection completely. It is also called
+ /// FIN_WAIT_2 timer in other implementations. When set to zero,
+ /// it should be disabled because the FIN_WAIT_2 timer itself is
/// against the standard. The default value is 60.
- ///
+ ///
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
+ ///
+ /// 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;
- ///
- /// The maximum number of TCP keep-alive probes to send before
- /// giving up and resetting the connection if no response from the
+ ///
+ /// 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;
- ///
- /// The number of seconds a connection needs to be idle before TCP
- /// sends out periodical keep-alive probes. When set to zero, the
+ ///
+ /// 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;
- ///
- /// The number of seconds between TCP keep-alive probes after the
- /// periodical keep-alive probe if no response. When set to zero, the
+ ///
+ /// 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;
- ///
- /// Set it to TRUE to enable the Nagle algorithm as defined in
+ ///
+ /// Set it to TRUE to enable the Nagle algorithm as defined in
/// RFC896. Set it to FALSE to disable it.
- ///
+ ///
BOOLEAN EnableNagle;
- ///
- /// Set it to TRUE to enable TCP timestamps option as defined in
+ ///
+ /// Set it to TRUE to enable TCP timestamps option as defined in
/// RFC1323. Set to FALSE to disable it.
- ///
+ ///
BOOLEAN EnableTimeStamp;
- ///
- /// Set it to TRUE to enable TCP window scale option as defined in
- /// RFC1323. Set it to FALSE to disable it.
- ///
+ ///
+ /// Set it to TRUE to enable TCP window scale option as defined in
+ /// RFC1323. Set it to FALSE to disable it.
+ ///
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
+ ///
+ /// 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;
- ///
- /// Set it to TRUE to enable path MTU discovery as defined in
+ ///
+ /// Set it to TRUE to enable path MTU discovery as defined in
/// RFC 1191. Set to FALSE to disable it.
- ///
+ ///
BOOLEAN EnablePathMtuDiscovery;
} EFI_TCP6_OPTION;
@@ -232,11 +232,11 @@ typedef struct { ///
UINT8 HopLimit;
///
- /// Used to specify TCP communication end settings for a TCP instance.
+ /// Used to specify TCP communication end settings for a TCP instance.
///
EFI_TCP6_ACCESS_POINT AccessPoint;
///
- /// Used to configure the advance TCP option for a connection. If set
+ /// 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;
@@ -261,16 +261,16 @@ typedef enum { ///
/// EFI_TCP6_COMPLETION_TOKEN
-/// is used as a common header for various asynchronous tokens.
+/// is used as a common header for various asynchronous tokens.
///
typedef struct {
///
- /// The Event to signal after request is finished and Status field is
- /// updated by the EFI TCPv6 Protocol driver.
- ///
+ /// The Event to signal after request is finished and Status field is
+ /// updated by the EFI TCPv6 Protocol driver.
+ ///
EFI_EVENT Event;
///
- /// The result of the completed operation.
+ /// The result of the completed operation.
///
EFI_STATUS Status;
} EFI_TCP6_COMPLETION_TOKEN;
@@ -282,33 +282,32 @@ typedef struct { ///
typedef struct {
///
- /// The Status in the CompletionToken will be set to one of
- /// the following values if the active open succeeds or an unexpected
+ /// The Status in the CompletionToken will be set to one of
+ /// the following values if the active open succeeds or an unexpected
/// error happens:
- /// EFI_SUCCESS: The active open succeeds and the instance's
+ /// EFI_SUCCESS: The active open succeeds and the instance's
/// state is Tcp6StateEstablished.
/// EFI_CONNECTION_RESET: The connect fails because the connection is reset
/// either by instance itself or the communication peer.
- /// EFI_CONNECTION_REFUSED: The receiving or transmission operation fails because this
+ /// EFI_CONNECTION_REFUSED: The receiving or transmission operation fails because this
/// connection is refused.
- /// Note: It is not defined in UEFI 2.3 Specification.
/// EFI_ABORTED: The active open is aborted.
- /// EFI_TIMEOUT: The connection establishment timer expires and
+ /// EFI_TIMEOUT: The connection establishment timer expires and
/// no more specific information is available.
- /// EFI_NETWORK_UNREACHABLE: The active open fails because
- /// an ICMP network unreachable error is received.
- /// EFI_HOST_UNREACHABLE: The active open fails because an
- /// ICMP host unreachable error is received.
- /// EFI_PROTOCOL_UNREACHABLE: The active open fails
+ /// EFI_NETWORK_UNREACHABLE: The active open fails because
+ /// an ICMP network unreachable error is received.
+ /// EFI_HOST_UNREACHABLE: The active open fails because an
+ /// ICMP host unreachable error is received.
+ /// EFI_PROTOCOL_UNREACHABLE: The active open fails
/// because an ICMP protocol unreachable error is received.
- /// EFI_PORT_UNREACHABLE: The connection establishment
+ /// EFI_PORT_UNREACHABLE: The connection establishment
/// timer times out and an ICMP port unreachable error is received.
- /// EFI_ICMP_ERROR: The connection establishment timer times
+ /// EFI_ICMP_ERROR: The connection establishment timer times
/// out and some other ICMP error is received.
/// EFI_DEVICE_ERROR: An unexpected system or network error occurred.
/// 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_CONNECTION_TOKEN;
@@ -318,10 +317,10 @@ typedef struct { ///
typedef struct {
///
- /// The Status in CompletionToken will be set to the
+ /// The Status in CompletionToken will be set to the
/// following value if accept finishes:
- /// EFI_SUCCESS: A remote peer has successfully established a
- /// connection to this instance. A new TCP instance has also been
+ /// EFI_SUCCESS: A remote peer has successfully established a
+ /// connection to this instance. A new TCP instance has also been
/// created for the connection.
/// EFI_CONNECTION_RESET: The accept fails because the connection is reset either
/// by instance itself or communication peer.
@@ -334,7 +333,7 @@ typedef struct { ///
/// EFI_TCP6_FRAGMENT_DATA
-/// allows multiple receive or transmit buffers to be specified. The
+/// allows multiple receive or transmit buffers to be specified. The
/// purpose of this structure is to provide scattered read and write.
///
typedef struct {
@@ -344,58 +343,58 @@ typedef struct { ///
/// EFI_TCP6_RECEIVE_DATA
-/// When TCPv6 driver wants to deliver received data to the application,
+/// When TCPv6 driver wants to deliver received data to the application,
/// it will pick up the first queued receiving token, update its
/// Token->Packet.RxData then signal the Token->CompletionToken.Event.
///
typedef struct {
///
- /// Whether the data is urgent. When this flag is set, the instance is in
- /// urgent mode.
+ /// Whether the data is urgent. When this flag is set, the instance is in
+ /// urgent mode.
///
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
+ ///
+ /// 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;
- ///
+ ///
/// Number of fragments.
- ///
+ ///
UINT32 FragmentCount;
- ///
+ ///
/// An array of fragment descriptors.
- ///
+ ///
EFI_TCP6_FRAGMENT_DATA FragmentTable[1];
} EFI_TCP6_RECEIVE_DATA;
///
/// EFI_TCP6_TRANSMIT_DATA
/// The EFI TCPv6 Protocol user must fill this data structure before sending a packet.
-/// The packet may contain multiple buffers in non-continuous memory locations.
+/// The packet may contain multiple buffers in non-continuous memory locations.
///
typedef struct {
- ///
- /// Push If TRUE, data must be transmitted promptly, and the PUSH bit in
- /// the last TCP segment created will be set. If FALSE, data
- /// transmission may be delayed to combine with data from
+ ///
+ /// Push If TRUE, data must be transmitted promptly, and the PUSH bit in
+ /// the last TCP segment created will be set. If FALSE, data
+ /// transmission may be delayed to combine with data from
/// subsequent Transmit()s for efficiency.
- ///
+ ///
BOOLEAN Push;
- ///
- /// The data in the fragment table are urgent and urgent point is in
+ ///
+ /// 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;
///
- /// Length of the data in the fragments.
+ /// Length of the data in the fragments.
///
UINT32 DataLength;
///
/// Number of fragments.
- ///
+ ///
UINT32 FragmentCount;
///
/// An array of fragment descriptors.
@@ -405,48 +404,47 @@ typedef struct { ///
/// EFI_TCP6_IO_TOKEN
-/// returns When transmission finishes or meets any unexpected error.
+/// returns When transmission finishes or meets any unexpected error.
///
typedef struct {
- ///
- /// When transmission finishes or meets any unexpected error it will
+ ///
+ /// When transmission finishes or meets any unexpected error it will
/// be set to one of the following values:
- /// EFI_SUCCESS: The receiving or transmission operation
+ /// EFI_SUCCESS: The receiving or transmission operation
/// completes successfully.
- /// EFI_CONNECTION_FIN: The receiving operation fails because the communication peer
- /// has closed the connection and there is no more data in the
+ /// EFI_CONNECTION_FIN: The receiving operation fails because the communication peer
+ /// has closed the connection and there is no more data in the
/// receive buffer of the instance.
- /// Note: It is not defined in UEFI 2.3 Specification.
/// EFI_CONNECTION_RESET: The receiving or transmission operation fails
- /// because this connection is reset either by instance
+ /// because this connection is reset either by instance
/// itself or the communication peer.
/// EFI_ABORTED: The receiving or transmission is aborted.
- /// EFI_TIMEOUT: The transmission timer expires and no more
+ /// EFI_TIMEOUT: The transmission timer expires and no more
/// specific information is available.
- /// EFI_NETWORK_UNREACHABLE: The transmission fails
- /// because an ICMP network unreachable error is received.
- /// EFI_HOST_UNREACHABLE: The transmission fails because an
- /// ICMP host unreachable error is received.
- /// EFI_PROTOCOL_UNREACHABLE: The transmission fails
- /// because an ICMP protocol unreachable error is received.
- /// EFI_PORT_UNREACHABLE: The transmission fails and an
- /// ICMP port unreachable error is received.
- /// EFI_ICMP_ERROR: The transmission fails and some other
- /// ICMP error is received.
+ /// EFI_NETWORK_UNREACHABLE: The transmission fails
+ /// because an ICMP network unreachable error is received.
+ /// EFI_HOST_UNREACHABLE: The transmission fails because an
+ /// ICMP host unreachable error is received.
+ /// EFI_PROTOCOL_UNREACHABLE: The transmission fails
+ /// because an ICMP protocol unreachable error is received.
+ /// EFI_PORT_UNREACHABLE: The transmission fails and an
+ /// ICMP port unreachable error is received.
+ /// EFI_ICMP_ERROR: The transmission fails and some other
+ /// ICMP error is received.
/// EFI_DEVICE_ERROR: An unexpected system or network error occurs.
- /// EFI_SECURITY_VIOLATION: The receiving or transmission
+ /// EFI_SECURITY_VIOLATION: The receiving or transmission
/// operation was failed because of IPSec policy check
/// EFI_NO_MEDIA: There was a media error.
///
EFI_TCP6_COMPLETION_TOKEN CompletionToken;
union {
///
- /// When this token is used for receiving, RxData is a pointer to
+ /// When this token is used for receiving, RxData is a pointer to
/// EFI_TCP6_RECEIVE_DATA.
///
EFI_TCP6_RECEIVE_DATA *RxData;
- ///
- /// When this token is used for transmitting, TxData is a pointer to
+ ///
+ /// When this token is used for transmitting, TxData is a pointer to
/// EFI_TCP6_TRANSMIT_DATA.
///
EFI_TCP6_TRANSMIT_DATA *TxData;
@@ -459,36 +457,36 @@ typedef struct { ///
typedef struct {
///
- /// When close finishes or meets any unexpected error it will be set
+ /// When close finishes or meets any unexpected error it will be set
/// to one of the following values:
/// EFI_SUCCESS: The close operation completes successfully.
/// 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;
- ///
- /// 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
+ ///
+ /// 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;
} EFI_TCP6_CLOSE_TOKEN;
/**
Get the current operational status.
-
+
The GetModeData() function copies the current operational settings of this EFI TCPv6
Protocol instance into user-supplied buffers. This function can also be used to retrieve
the operational setting of underlying drivers such as IPv6, MNP, or SNP.
@param[in] This Pointer to the EFI_TCP6_PROTOCOL instance.
@param[out] Tcp6State The buffer in which the current TCP state is returned.
- @param[out] Tcp6ConfigData The buffer in which the current TCP configuration is returned.
- @param[out] Ip6ModeData The buffer in which the current IPv6 configuration data used by
- the TCP instance is returned.
- @param[out] MnpConfigData The buffer in which the current MNP configuration data used
+ @param[out] Tcp6ConfigData The buffer in which the current TCP configuration is returned.
+ @param[out] Ip6ModeData The buffer in which the current IPv6 configuration data used by
+ the TCP instance is returned.
+ @param[out] MnpConfigData The buffer in which the current MNP configuration data used
indirectly by the TCP instance is returned.
- @param[out] SnpModeData The buffer in which the current SNP mode data used indirectly by
+ @param[out] SnpModeData The buffer in which the current SNP mode data used indirectly by
the TCP instance is returned.
@retval EFI_SUCCESS The mode data was read.
@@ -514,17 +512,17 @@ EFI_STATUS The Configure() function does the following:
- Initialize this TCP instance, i.e., initialize the communication end settings and
specify active open or passive open for an instance.
- - Reset this TCP instance brutally, i.e., cancel all pending asynchronous tokens, flush
+ - Reset this TCP instance brutally, i.e., cancel all pending asynchronous tokens, flush
transmission and receiving buffer directly without informing the communication peer.
No other TCPv6 Protocol operation except Poll() can be executed by this instance until
it is configured properly. For an active TCP instance, after a proper configuration it
- may call Connect() to initiates the three-way handshake. For a passive TCP instance,
- its state will transit to Tcp6StateListen after configuration, and Accept() may be
+ may call Connect() to initiates the three-way handshake. For a passive TCP instance,
+ its state will transit to Tcp6StateListen after configuration, and Accept() may be
called to listen the incoming TCP connection requests. If Tcp6ConfigData is set to NULL,
the instance is reset. Resetting process will be done brutally, the state machine will
be set to Tcp6StateClosed directly, the receive queue and transmit queue will be flushed,
- and no traffic is allowed through this instance.
+ and no traffic is allowed through this instance.
@param[in] This Pointer to the EFI_TCP6_PROTOCOL instance.
@param[in] Tcp6ConfigData Pointer to the configure data to configure the instance.
@@ -532,19 +530,19 @@ EFI_STATUS @retval EFI_SUCCESS The operational settings are set, changed, or reset
successfully.
- @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
- address for this instance, but no source address was available for
+ @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
+ address for this instance, but no source address was available for
use.
@retval EFI_INVALID_PARAMETER One or more of the following conditions are TRUE:
- This is NULL.
- - Tcp6ConfigData->AccessPoint.StationAddress is neither zero nor
+ - Tcp6ConfigData->AccessPoint.StationAddress is neither zero nor
one of the configured IP addresses in the underlying IPv6 driver.
- - Tcp6ConfigData->AccessPoint.RemoteAddress isn't a valid unicast
+ - Tcp6ConfigData->AccessPoint.RemoteAddress isn't a valid unicast
IPv6 address.
- - Tcp6ConfigData->AccessPoint.RemoteAddress is zero or
- Tcp6ConfigData->AccessPoint.RemotePort is zero when
+ - Tcp6ConfigData->AccessPoint.RemoteAddress is zero or
+ Tcp6ConfigData->AccessPoint.RemotePort is zero when
Tcp6ConfigData->AccessPoint.ActiveFlag is TRUE.
- - A same access point has been configured in other TCP
+ - A same access point has been configured in other TCP
instance properly.
@retval EFI_ACCESS_DENIED Configuring TCP instance when it is configured without
calling Configure() with NULL to reset it.
@@ -568,9 +566,9 @@ EFI_STATUS The Connect() function will initiate an active open to the remote peer configured
in current TCP instance if it is configured active. If the connection succeeds or
fails due to any error, the ConnectionToken->CompletionToken.Event will be signaled
- and ConnectionToken->CompletionToken.Status will be updated accordingly. This
- function can only be called for the TCP instance in Tcp6StateClosed state. The
- instance will transfer into Tcp6StateSynSent if the function returns EFI_SUCCESS.
+ and ConnectionToken->CompletionToken.Status will be updated accordingly. This
+ function can only be called for the TCP instance in Tcp6StateClosed state. The
+ instance will transfer into Tcp6StateSynSent if the function returns EFI_SUCCESS.
If TCP three-way handshake succeeds, its state will become Tcp6StateEstablished,
otherwise, the state will return to Tcp6StateClosed.
@@ -578,7 +576,7 @@ EFI_STATUS @param[in] ConnectionToken Pointer to the connection token to return when the TCP three
way handshake finishes.
- @retval EFI_SUCCESS The connection request is successfully initiated and the state of
+ @retval EFI_SUCCESS The connection request is successfully initiated and the state of
this TCP instance has been changed to Tcp6StateSynSent.
@retval EFI_NOT_STARTED This EFI TCPv6 Protocol instance has not been configured.
@retval EFI_ACCESS_DENIED One or more of the following conditions are TRUE:
@@ -600,25 +598,25 @@ EFI_STATUS );
/**
- Listen on the passive instance to accept an incoming connection request. This is a
+ Listen on the passive instance to accept an incoming connection request. This is a
nonblocking operation.
-
- The Accept() function initiates an asynchronous accept request to wait for an incoming
- connection on the passive TCP instance. If a remote peer successfully establishes a
+
+ The Accept() function initiates an asynchronous accept request to wait for an incoming
+ connection on the passive TCP instance. If a remote peer successfully establishes a
connection with this instance, a new TCP instance will be created and its handle will
be returned in ListenToken->NewChildHandle. The newly created instance is configured
by inheriting the passive instance's configuration and is ready for use upon return.
The new instance is in the Tcp6StateEstablished state.
- The ListenToken->CompletionToken.Event will be signaled when a new connection is
- accepted, user aborts the listen or connection is reset.
+ The ListenToken->CompletionToken.Event will be signaled when a new connection is
+ accepted, user aborts the listen or connection is reset.
- This function only can be called when current TCP instance is in Tcp6StateListen state.
+ This function only can be called when current TCP instance is in Tcp6StateListen state.
@param[in] This Pointer to the EFI_TCP6_PROTOCOL instance.
@param[in] ListenToken Pointer to the listen token to return when operation finishes.
-
-
+
+
@retval EFI_SUCCESS The listen token has been queued successfully.
@retval EFI_NOT_STARTED This EFI TCPv6 Protocol instance has not been configured.
@retval EFI_ACCESS_DENIED One or more of the following are TRUE:
@@ -645,7 +643,7 @@ EFI_STATUS Queues outgoing data into the transmit queue.
The Transmit() function queues a sending request to this TCP instance along with the
- user data. The status of the token is updated and the event in the token will be
+ user data. The status of the token is updated and the event in the token will be
signaled once the data is sent out or some error occurs.
@param[in] This Pointer to the EFI_TCP6_PROTOCOL instance.
@@ -653,8 +651,8 @@ EFI_STATUS @retval EFI_SUCCESS The data has been queued for transmission.
@retval EFI_NOT_STARTED This EFI TCPv6 Protocol instance has not been configured.
- @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a
- source address for this instance, but no source address was
+ @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a
+ source address for this instance, but no source address was
available for use.
@retval EFI_INVALID_PARAMETER One or more of the following are TRUE:
- This is NULL.
@@ -664,11 +662,11 @@ EFI_STATUS - Token->Packet.FragmentCount is zero.
- Token->Packet.DataLength is not equal to the sum of fragment lengths.
@retval EFI_ACCESS_DENIED One or more of the following conditions are TRUE:
- - A transmit completion token with the same Token->
- CompletionToken.Event was already in the
+ - A transmit completion token with the same Token->
+ CompletionToken.Event was already in the
transmission queue.
- The current instance is in Tcp6StateClosed state.
- - The current instance is a passive one and it is in
+ - The current instance is a passive one and it is in
Tcp6StateListen state.
- User has called Close() to disconnect this connection.
@retval EFI_NOT_READY The completion token could not be queued because the
@@ -688,15 +686,15 @@ EFI_STATUS /**
Places an asynchronous receive request into the receiving queue.
- The Receive() function places a completion token into the receive packet queue. This
+ The Receive() function places a completion token into the receive packet queue. This
function is always asynchronous. The caller must allocate the Token->CompletionToken.Event
- and the FragmentBuffer used to receive data. The caller also must fill the DataLength which
- represents the whole length of all FragmentBuffer. When the receive operation completes, the
+ and the FragmentBuffer used to receive data. The caller also must fill the DataLength which
+ represents the whole length of all FragmentBuffer. When the receive operation completes, the
EFI TCPv6 Protocol driver updates the Token->CompletionToken.Status and Token->Packet.RxData
fields and the Token->CompletionToken.Event is signaled. If got data the data and its length
will be copied into the FragmentTable, at the same time the full length of received data will
be recorded in the DataLength fields. Providing a proper notification function and context
- for the event will enable the user to receive the notification and receiving status. That
+ for the event will enable the user to receive the notification and receiving status. That
notification function is guaranteed to not be re-entered.
@param[in] This Pointer to the EFI_TCP6_PROTOCOL instance.
@@ -705,7 +703,7 @@ EFI_STATUS @retval EFI_SUCCESS The receive completion token was cached.
@retval EFI_NOT_STARTED This EFI TCPv6 Protocol instance has not been configured.
- @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
+ @retval EFI_NO_MAPPING The underlying IPv6 driver was responsible for choosing a source
address for this instance, but no source address was available for use.
@retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
- This is NULL.
@@ -713,20 +711,20 @@ EFI_STATUS - Token->CompletionToken.Event is NULL.
- Token->Packet.RxData is NULL.
- Token->Packet.RxData->DataLength is 0.
- - The Token->Packet.RxData->DataLength is not the
+ - The Token->Packet.RxData->DataLength is not the
sum of all FragmentBuffer length in FragmentTable.
@retval EFI_OUT_OF_RESOURCES The receive completion token could not be queued due to a lack of
system resources (usually memory).
- @retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
+ @retval EFI_DEVICE_ERROR An unexpected system or network error occurred.
The EFI TCPv6 Protocol instance has been reset to startup defaults.
@retval EFI_ACCESS_DENIED One or more of the following conditions is TRUE:
- A receive completion token with the same Token->CompletionToken.Event
was already in the receive queue.
- The current instance is in Tcp6StateClosed state.
- - The current instance is a passive one and it is in
+ - The current instance is a passive one and it is in
Tcp6StateListen state.
- User has called Close() to disconnect this connection.
- @retval EFI_CONNECTION_FIN The communication peer has closed the connection and there is no
+ @retval EFI_CONNECTION_FIN The communication peer has closed the connection and there is no
any buffered data in the receive buffer of this instance
@retval EFI_NOT_READY The receive request could not be queued because the receive queue is full.
@@ -742,16 +740,16 @@ EFI_STATUS Disconnecting a TCP connection gracefully or reset a TCP connection. This function is a
nonblocking operation.
- Initiate an asynchronous close token to TCP driver. After Close() is called, any buffered
- transmission data will be sent by TCP driver and the current instance will have a graceful close
- working flow described as RFC 793 if AbortOnClose is set to FALSE, otherwise, a rest packet
- will be sent by TCP driver to fast disconnect this connection. When the close operation completes
- successfully the TCP instance is in Tcp6StateClosed state, all pending asynchronous
+ Initiate an asynchronous close token to TCP driver. After Close() is called, any buffered
+ transmission data will be sent by TCP driver and the current instance will have a graceful close
+ working flow described as RFC 793 if AbortOnClose is set to FALSE, otherwise, a rest packet
+ will be sent by TCP driver to fast disconnect this connection. When the close operation completes
+ successfully the TCP instance is in Tcp6StateClosed state, all pending asynchronous
operations are signaled and any buffers used for TCP network traffic are flushed.
@param[in] This Pointer to the EFI_TCP6_PROTOCOL instance.
@param[in] CloseToken Pointer to the close token to return when operation finishes.
-
+
@retval EFI_SUCCESS The Close() is called successfully.
@retval EFI_NOT_STARTED This EFI TCPv6 Protocol instance has not been configured.
@retval EFI_ACCESS_DENIED One or more of the following are TRUE:
@@ -775,14 +773,14 @@ EFI_STATUS /**
Abort an asynchronous connection, listen, transmission or receive request.
- The Cancel() function aborts a pending connection, listen, transmit or
+ The Cancel() function aborts a pending connection, listen, transmit or
receive request.
If Token is not NULL and the token is in the connection, listen, transmission
- or receive queue when it is being cancelled, its Token->Status will be set
+ or receive queue when it is being cancelled, its Token->Status will be set
to EFI_ABORTED and then Token->Event will be signaled.
- If the token is not in one of the queues, which usually means that the
+ If the token is not in one of the queues, which usually means that the
asynchronous operation has completed, EFI_NOT_FOUND is returned.
If Token is NULL all asynchronous token issued by Connect(), Accept(),
@@ -798,12 +796,12 @@ EFI_STATUS EFI_TCP6_COMPLETION_TOKEN is defined in
EFI_TCP_PROTOCOL.Connect().
- @retval EFI_SUCCESS The asynchronous I/O request is aborted and Token->Event
- is signaled.
+ @retval EFI_SUCCESS The asynchronous I/O request is aborted and Token->Event
+ is signaled.
@retval EFI_INVALID_PARAMETER This is NULL.
@retval EFI_NOT_STARTED This instance hasn't been configured.
- @retval EFI_NOT_FOUND The asynchronous I/O request isn't found in the transmission or
- receive queue. It has either completed or wasn't issued by
+ @retval EFI_NOT_FOUND The asynchronous I/O request isn't found in the transmission or
+ receive queue. It has either completed or wasn't issued by
Transmit() and Receive().
@retval EFI_UNSUPPORTED The implementation does not support this function.
@@ -839,11 +837,11 @@ EFI_STATUS );
///
-/// EFI_TCP6_PROTOCOL
+/// EFI_TCP6_PROTOCOL
/// defines the EFI TCPv6 Protocol child to be used by any network drivers or
-/// applications to send or receive data stream. It can either listen on a
+/// applications to send or receive data stream. It can either listen on a
/// specified port as a service or actively connect to remote peer as a client.
-/// Each instance has its own independent settings.
+/// Each instance has its own independent settings.
///
struct _EFI_TCP6_PROTOCOL {
EFI_TCP6_GET_MODE_DATA GetModeData;
|