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