]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/NetworkInterfaceIdentifier.h
MdePkg: Clean up source files
[mirror_edk2.git] / MdePkg / Include / Protocol / NetworkInterfaceIdentifier.h
index 777d50799d29b25441142bec239520dbfb008836..c973fcdb5252e086f32e078302069aa031d94b21 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   EFI Network Interface Identifier Protocol.\r
 \r
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials are licensed and made available under\r
 the terms and conditions of the BSD License that accompanies this distribution.\r
 The full text of the license may be found at\r
@@ -34,7 +34,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     0x1ACED566, 0x76ED, 0x4218, {0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 } \\r
   }\r
 \r
-#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION    0x00010000\r
+//\r
+// Revision defined in UEFI Specification 2.4\r
+//\r
+#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION    0x00020000\r
+\r
 \r
 ///\r
 /// Revision defined in EFI1.1.\r
@@ -70,9 +74,9 @@ struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL {
   UINT8     MajorVer;   ///< Major version number.\r
   UINT8     MinorVer;   ///< Minor version number.\r
   BOOLEAN   Ipv6Supported; ///< TRUE if the network interface supports IPv6; otherwise FALSE.\r
-  UINT    IfNum;      ///< The network interface number that is being identified by this Network\r
-                        ///< Interface Identifier Protocol. This field must be less than or equal\r
-                        ///< to the IFcnt field in the !PXE structure.\r
+  UINT16    IfNum;      ///< The network interface number that is being identified by this Network\r
+                        ///< Interface Identifier Protocol. This field must be less than or\r
+                        ///< equal to the (IFcnt | IFcntExt <<8 ) fields in the !PXE structure.\r
 \r
 };\r
 \r
@@ -85,6 +89,29 @@ typedef enum {
   EfiNetworkInterfaceUndi = 1\r
 } EFI_NETWORK_INTERFACE_TYPE;\r
 \r
+///\r
+/// Forward reference for pure ANSI compatability.\r
+///\r
+typedef struct undiconfig_table  UNDI_CONFIG_TABLE;\r
+\r
+///\r
+/// The format of the configuration table for UNDI\r
+///\r
+struct undiconfig_table {\r
+  UINT32             NumberOfInterfaces;    ///< The number of NIC devices\r
+                                            ///< that this UNDI controls.\r
+  UINT32             reserved;\r
+  UNDI_CONFIG_TABLE  *nextlink;             ///< A pointer to the next UNDI\r
+                                            ///< configuration table.\r
+  ///\r
+  /// The length of this array is given in the NumberOfInterfaces field.\r
+  ///\r
+  struct {\r
+    VOID             *NII_InterfacePointer; ///< Pointer to the NII interface structure.\r
+    VOID             *DevicePathPointer;    ///< Pointer to the device path for this NIC.\r
+  } NII_entry[1];\r
+};\r
+\r
 extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;\r
 extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid_31;\r
 \r