NetworkInterfaceIdentifier.h

Go to the documentation of this file.
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

Generated on Tue Apr 6 20:01:07 2010 for gPXE by  doxygen 1.5.7.1