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