You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NetworkInterfaceIdentifier.h 3.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /** @file
  2. EFI Network Interface Identifier Protocol.
  3. Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
  4. This program and the accompanying materials are licensed and made available under
  5. the terms and conditions of the BSD License that accompanies this distribution.
  6. The full text of the license may be found at
  7. http://opensource.org/licenses/bsd-license.php.
  8. THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
  10. @par Revision Reference:
  11. This Protocol is introduced in EFI Specification 1.10.
  12. **/
  13. #ifndef __EFI_NETWORK_INTERFACE_IDENTIFER_H__
  14. #define __EFI_NETWORK_INTERFACE_IDENTIFER_H__
  15. //
  16. // GUID retired from UEFI Specification 2.1b
  17. //
  18. #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID \
  19. { \
  20. 0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 } \
  21. }
  22. //
  23. // GUID intruduced in UEFI Specification 2.1b
  24. //
  25. #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID_31 \
  26. { \
  27. 0x1ACED566, 0x76ED, 0x4218, {0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 } \
  28. }
  29. #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION 0x00010000
  30. ///
  31. /// Revision defined in EFI1.1.
  32. ///
  33. #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION
  34. ///
  35. /// Forward reference for pure ANSI compatability.
  36. ///
  37. typedef struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL;
  38. ///
  39. /// Protocol defined in EFI1.1.
  40. ///
  41. typedef EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE;
  42. ///
  43. /// An optional protocol that is used to describe details about the software
  44. /// layer that is used to produce the Simple Network Protocol.
  45. ///
  46. struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL {
  47. UINT64 Revision; ///< The revision of the EFI_NETWORK_INTERFACE_IDENTIFIER protocol.
  48. UINT64 Id; ///< The address of the first byte of the identifying structure for this network
  49. ///< interface. This is only valid when the network interface is started
  50. ///< (see Start()). When the network interface is not started, this field is set to zero.
  51. UINT64 ImageAddr; ///< The address of the first byte of the identifying structure for this
  52. ///< network interface. This is set to zero if there is no structure.
  53. UINT32 ImageSize; ///< The size of unrelocated network interface image.
  54. CHAR8 StringId[4];///< A four-character ASCII string that is sent in the class identifier field of
  55. ///< option 60 in DHCP. For a Type of EfiNetworkInterfaceUndi, this field is UNDI.
  56. UINT8 Type; ///< Network interface type. This will be set to one of the values
  57. ///< in EFI_NETWORK_INTERFACE_TYPE.
  58. UINT8 MajorVer; ///< Major version number.
  59. UINT8 MinorVer; ///< Minor version number.
  60. BOOLEAN Ipv6Supported; ///< TRUE if the network interface supports IPv6; otherwise FALSE.
  61. UINT8 IfNum; ///< The network interface number that is being identified by this Network
  62. ///< Interface Identifier Protocol. This field must be less than or equal
  63. ///< to the IFcnt field in the !PXE structure.
  64. };
  65. ///
  66. ///*******************************************************
  67. /// EFI_NETWORK_INTERFACE_TYPE
  68. ///*******************************************************
  69. ///
  70. typedef enum {
  71. EfiNetworkInterfaceUndi = 1
  72. } EFI_NETWORK_INTERFACE_TYPE;
  73. extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;
  74. extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid_31;
  75. #endif