#ifndef _EFI_NII_H1#define _EFI_NII_H23/*++4Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved5This software and associated documentation (if any) is furnished6under a license and may only be used or copied in accordance7with the terms of the license. Except as permitted by such8license, no part of this software or documentation may be9reproduced, stored in a retrieval system, or transmitted in any10form or by any means without the express written consent of11Intel Corporation.1213Module name:14efi_nii.h1516Abstract:1718Revision history:192000-Feb-18 M(f)J GUID updated.20Structure order changed for machine word alignment.21Added StringId[4] to structure.22232000-Feb-14 M(f)J Genesis.24--*/2526#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \27{ 0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29} }28#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_31 \29{ 0x1ACED566, 0x76ED, 0x4218, {0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89} }3031#define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x0001000032#define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION_31 0x000100013334typedef enum {35EfiNetworkInterfaceUndi = 136} EFI_NETWORK_INTERFACE_TYPE;3738typedef struct {3940UINT64 Revision;41// Revision of the network interface identifier protocol interface.4243UINT64 ID;44// Address of the first byte of the identifying structure for this45// network interface. This is set to zero if there is no structure.46//47// For PXE/UNDI this is the first byte of the !PXE structure.4849UINT64 ImageAddr;50// Address of the UNrelocated driver/ROM image. This is set51// to zero if there is no driver/ROM image.52//53// For 16-bit UNDI, this is the first byte of the option ROM in54// upper memory.55//56// For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM57// image.58//59// For H/W UNDI, this is set to zero.6061UINT32 ImageSize;62// Size of the UNrelocated driver/ROM image of this network interface.63// This is set to zero if there is no driver/ROM image.6465CHAR8 StringId[4];66// 4 char ASCII string to go in class identifier (option 60) in DHCP67// and Boot Server discover packets.68// For EfiNetworkInterfaceUndi this field is "UNDI".69// For EfiNetworkInterfaceSnp this field is "SNPN".7071UINT8 Type;72UINT8 MajorVer;73UINT8 MinorVer;74// Information to be placed into the PXE DHCP and Discover packets.75// This is the network interface type and version number that will76// be placed into DHCP option 94 (client network interface identifier).77BOOLEAN Ipv6Supported;78UINT8 IfNum; // interface number to be used with pxeid structure79} EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE;8081extern EFI_GUID NetworkInterfaceIdentifierProtocol;82extern EFI_GUID NetworkInterfaceIdentifierProtocol_31;8384#endif // _EFI_NII_H858687