00001 /** @file 00002 EFI Network Interface Identifier Protocol 00003 00004 Copyright (c) 2006 - 2008, Intel Corporation 00005 All rights reserved. This program and the accompanying materials 00006 are licensed and made available under the terms and conditions of the BSD License 00007 which accompanies this distribution. The full text of the license may be found at 00008 http://opensource.org/licenses/bsd-license.php 00009 00010 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 00011 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 00012 00013 00014 **/ 00015 00016 #ifndef __EFI_NETWORK_INTERFACE_IDENTIFER_H__ 00017 #define __EFI_NETWORK_INTERFACE_IDENTIFER_H__ 00018 00019 00020 #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID \ 00021 { \ 00022 0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 } \ 00023 } 00024 00025 #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION 0x00010000 00026 00027 /// 00028 /// Revision defined in EFI1.1. 00029 /// 00030 #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION 00031 00032 /// 00033 /// Forward reference for pure ANSI compatability 00034 /// 00035 typedef struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL; 00036 00037 /// 00038 /// Protocol defined in EFI1.1. 00039 /// 00040 typedef EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE; 00041 00042 typedef enum { 00043 EfiNetworkInterfaceUndi = 1 00044 } EFI_NETWORK_PROTOCOL_TYPE; 00045 00046 /// 00047 /// An optional protocol that is used to describe details about the software 00048 /// layer that is used to produce the Simple Network Protocol. 00049 /// 00050 struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL { 00051 UINT64 Revision; ///< The revision of the EFI_NETWORK_INTERFACE_IDENTIFIER protocol. 00052 UINT64 ID; ///< Address of the first byte of the identifying structure for this network 00053 ///< interface. This is only valid when the network interface is started 00054 ///< (see Start()). When the network interface is not started, this field is set to zero. 00055 UINT64 ImageAddr; ///< Address of the first byte of the identifying structure for this 00056 ///< network interface. This is set to zero if there is no structure. 00057 UINT32 ImageSize; ///< Size of unrelocated network interface image. 00058 CHAR8 StringId[4];///< A four-character ASCII string that is sent in the class identifier field of 00059 ///< option 60 in DHCP. For a Type of EfiNetworkInterfaceUndi, this field is UNDI. 00060 UINT8 Type; ///< Network interface type. This will be set to one of the values 00061 ///< in EFI_NETWORK_INTERFACE_TYPE. 00062 UINT8 MajorVer; ///< Major version number. 00063 UINT8 MinorVer; ///< Minor version number. 00064 BOOLEAN Ipv6Supported; ///< TRUE if the network interface supports IPv6; otherwise FALSE. 00065 UINT8 IfNum; ///< The network interface number that is being identified by this Network 00066 ///< Interface Identifier Protocol. This field must be less than or equal 00067 ///< to the IFcnt field in the !PXE structure. 00068 00069 }; 00070 00071 extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid; 00072 extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid_31; 00073 00074 #endif // _EFI_NII_H
1.5.7.1