]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/Ip6.h
Clean up MdePkg source to correct some coding style issues, etc.
[mirror_edk2.git] / MdePkg / Include / Protocol / Ip6.h
index 0857fca1112272a43abdee9395949afc2372de89..7fe7eeeb61ed2a66ed810869df6c6899b2c0608a 100644 (file)
@@ -1,5 +1,4 @@
 /** @file\r
-  \r
   This file defines the EFI IPv6 (Internet Protocol version 6)\r
   Protocol interface. It is split into the following three main\r
   sections:\r
   Listener Discovery Protocol (MLD), and a subset of the Internet Control\r
   Message Protocol (ICMPv6).\r
   \r
-  Copyright (c) 2008 - 2009, Intel Corporation                                                         \r
+  Copyright (c) 2008 - 2010, Intel Corporation                                                         \r
   All rights reserved. This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
   http://opensource.org/licenses/bsd-license.php                                            \r
 \r
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.    \r
+\r
+  @par Revision Reference:          \r
+  This Protocol is introduced in UEFI Specification 2.2       \r
 \r
 **/\r
 \r
 \r
 typedef struct _EFI_IP6_PROTOCOL EFI_IP6_PROTOCOL;\r
 \r
+///\r
+/// EFI_IP6_ADDRESS_PAIR \r
+/// which is not defined in the UEFI 2.3 Specification.\r
+///\r
+typedef struct{ \r
+  ///\r
+  /// The EFI IPv6 Protocol instance handle that is using this address/prefix pair.\r
+  ///\r
+  EFI_HANDLE          InstanceHandle;\r
+  ///\r
+  /// IPv6 address in network byte order.\r
+  ///\r
+  EFI_IPv6_ADDRESS    Ip6Address;\r
+  ///\r
+  /// The length of the prefix associated with the Ip6Address.\r
+  ///\r
+  UINT8               PrefixLength;\r
+} EFI_IP6_ADDRESS_PAIR; \r
+\r
+///\r
+/// EFI_IP6_VARIABLE_DATA\r
+/// which is not defined in the UEFI 2.3 Specification.\r
+///\r
+typedef struct {\r
+  ///\r
+  /// The handle of the driver that creates this entry.\r
+  ///\r
+  EFI_HANDLE              DriverHandle;\r
+  ///\r
+  /// The number of IPv6 address pairs that follow this data structure.\r
+  ///\r
+  UINT32                  AddressCount;\r
+  ///\r
+  /// List of IPv6 address pairs that are currently in use.\r
+  ///\r
+  EFI_IP6_ADDRESS_PAIR    AddressPairs[1];\r
+} EFI_IP6_VARIABLE_DATA;\r
+\r
 ///\r
 /// ICMPv6 type definitions for error messages\r
 ///\r
@@ -371,7 +411,7 @@ typedef struct _EFI_IP6_HEADER {
   EFI_IPv6_ADDRESS        SourceAddress;\r
   EFI_IPv6_ADDRESS        DestinationAddress;\r
 } EFI_IP6_HEADER;\r
-#pragma pack\r
+#pragma pack()\r
 \r
 ///\r
 /// EFI_IP6_FRAGMENT_DATA\r
@@ -531,7 +571,7 @@ typedef struct {
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_IP6_GET_MODE_DATA) (\r
+(EFIAPI *EFI_IP6_GET_MODE_DATA)(\r
   IN EFI_IP6_PROTOCOL                 *This,\r
   OUT EFI_IP6_MODE_DATA               *Ip6ModeData     OPTIONAL,\r
   OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData   OPTIONAL,\r
@@ -586,7 +626,7 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_IP6_CONFIGURE) (\r
+(EFIAPI *EFI_IP6_CONFIGURE)(\r
   IN EFI_IP6_PROTOCOL            *This,\r
   IN EFI_IP6_CONFIG_DATA         *Ip6ConfigData OPTIONAL\r
   );\r
@@ -623,7 +663,7 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_IP6_GROUPS) (\r
+(EFIAPI *EFI_IP6_GROUPS)(\r
   IN EFI_IP6_PROTOCOL            *This,\r
   IN BOOLEAN                     JoinFlag,\r
   IN EFI_IPv6_ADDRESS            *GroupAddress  OPTIONAL\r
@@ -672,10 +712,10 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_IP6_ROUTES) (\r
+(EFIAPI *EFI_IP6_ROUTES)(\r
   IN EFI_IP6_PROTOCOL            *This,\r
   IN BOOLEAN                     DeleteRoute,\r
-  IN EFI_IPv6_ADDRESS            *Destination, OPTIONAL\r
+  IN EFI_IPv6_ADDRESS            *Destination OPTIONAL,\r
   IN UINT8                       PrefixLength,\r
   IN EFI_IPv6_ADDRESS            *GatewayAddress OPTIONAL \r
   );\r
@@ -728,7 +768,7 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_IP6_NEIGHBORS) (\r
+(EFIAPI *EFI_IP6_NEIGHBORS)(\r
   IN EFI_IP6_PROTOCOL            *This,\r
   IN BOOLEAN                     DeleteFlag,\r
   IN EFI_IPv6_ADDRESS            *TargetIp6Address,\r
@@ -781,7 +821,7 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_IP6_TRANSMIT) (\r
+(EFIAPI *EFI_IP6_TRANSMIT)(\r
   IN EFI_IP6_PROTOCOL            *This,\r
   IN EFI_IP6_COMPLETION_TOKEN    *Token\r
   );\r
@@ -798,7 +838,7 @@ EFI_STATUS
   is signaled.\r
 \r
   @param[in]  This               Pointer to the EFI_IP6_PROTOCOL instance.\r
-  @param]in]  Token              Pointer to a token that is associated with the receive data descriptor.\r
+  @param[in]  Token              Pointer to a token that is associated with the receive data descriptor.\r
                                  \r
   @retval EFI_SUCCESS            The receive completion token was cached.\r
   @retval EFI_NOT_STARTED        This EFI IPv6 Protocol instance has not been started.\r
@@ -819,7 +859,7 @@ EFI_STATUS
 **/                              \r
 typedef                          \r
 EFI_STATUS                       \r
-(EFIAPI *EFI_IP6_RECEIVE) (      \r
+(EFIAPI *EFI_IP6_RECEIVE)(      \r
   IN EFI_IP6_PROTOCOL            *This,\r
   IN EFI_IP6_COMPLETION_TOKEN    *Token\r
   );\r
@@ -886,7 +926,7 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_IP6_POLL) (\r
+(EFIAPI *EFI_IP6_POLL)(\r
   IN EFI_IP6_PROTOCOL            *This\r
   );\r
 \r
@@ -894,7 +934,7 @@ EFI_STATUS
 /// The EFI IPv6 Protocol implements a simple packet-oriented interface that can be\r
 /// used by drivers, daemons, and applications to transmit and receive network packets.\r
 ///\r
-typedef struct _EFI_IP6_PROTOCOL {\r
+struct _EFI_IP6_PROTOCOL {\r
   EFI_IP6_GET_MODE_DATA   GetModeData;\r
   EFI_IP6_CONFIGURE       Configure;\r
   EFI_IP6_GROUPS          Groups;\r
@@ -904,7 +944,7 @@ typedef struct _EFI_IP6_PROTOCOL {
   EFI_IP6_RECEIVE         Receive;\r
   EFI_IP6_CANCEL          Cancel;\r
   EFI_IP6_POLL            Poll;\r
-} EFI_IP6_PROTOCOL;\r
+};\r
 \r
 extern EFI_GUID gEfiIp6ServiceBindingProtocolGuid;\r
 extern EFI_GUID gEfiIp6ProtocolGuid;\r