Home | History | Annotate | Line # | Download | only in inc
      1      1.1  jakllsch /*	$NetBSD: efi_nii.h,v 1.1.1.2 2018/08/16 18:17:47 jmcneill Exp $	*/
      2      1.1  jakllsch 
      3      1.1  jakllsch #ifndef _EFI_NII_H
      4      1.1  jakllsch #define _EFI_NII_H
      5      1.1  jakllsch 
      6      1.1  jakllsch /*++
      7      1.1  jakllsch Copyright (c) 2000  Intel Corporation
      8      1.1  jakllsch 
      9      1.1  jakllsch Module name:
     10      1.1  jakllsch     efi_nii.h
     11      1.1  jakllsch 
     12      1.1  jakllsch Abstract:
     13      1.1  jakllsch 
     14      1.1  jakllsch Revision history:
     15      1.1  jakllsch     2000-Feb-18 M(f)J   GUID updated.
     16      1.1  jakllsch                 Structure order changed for machine word alignment.
     17      1.1  jakllsch                 Added StringId[4] to structure.
     18  1.1.1.2  jmcneill 
     19      1.1  jakllsch     2000-Feb-14 M(f)J   Genesis.
     20      1.1  jakllsch --*/
     21      1.1  jakllsch 
     22  1.1.1.2  jmcneill #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID \
     23      1.1  jakllsch     { 0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29} }
     24      1.1  jakllsch 
     25  1.1.1.2  jmcneill #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION  0x00010000
     26  1.1.1.2  jmcneill #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION
     27      1.1  jakllsch 
     28      1.1  jakllsch typedef enum {
     29      1.1  jakllsch     EfiNetworkInterfaceUndi = 1
     30      1.1  jakllsch } EFI_NETWORK_INTERFACE_TYPE;
     31      1.1  jakllsch 
     32  1.1.1.2  jmcneill typedef struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL {
     33      1.1  jakllsch 
     34      1.1  jakllsch     UINT64 Revision;
     35      1.1  jakllsch     // Revision of the network interface identifier protocol interface.
     36      1.1  jakllsch 
     37      1.1  jakllsch     UINT64 ID;
     38      1.1  jakllsch     // Address of the first byte of the identifying structure for this
     39      1.1  jakllsch     // network interface.  This is set to zero if there is no structure.
     40      1.1  jakllsch     //
     41      1.1  jakllsch     // For PXE/UNDI this is the first byte of the !PXE structure.
     42      1.1  jakllsch 
     43      1.1  jakllsch     UINT64 ImageAddr;
     44      1.1  jakllsch     // Address of the UNrelocated driver/ROM image.  This is set
     45      1.1  jakllsch     // to zero if there is no driver/ROM image.
     46      1.1  jakllsch     //
     47      1.1  jakllsch     // For 16-bit UNDI, this is the first byte of the option ROM in
     48      1.1  jakllsch     // upper memory.
     49      1.1  jakllsch     //
     50      1.1  jakllsch     // For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM
     51      1.1  jakllsch     // image.
     52      1.1  jakllsch     //
     53      1.1  jakllsch     // For H/W UNDI, this is set to zero.
     54      1.1  jakllsch 
     55      1.1  jakllsch     UINT32 ImageSize;
     56      1.1  jakllsch     // Size of the UNrelocated driver/ROM image of this network interface.
     57      1.1  jakllsch     // This is set to zero if there is no driver/ROM image.
     58      1.1  jakllsch 
     59      1.1  jakllsch     CHAR8 StringId[4];
     60      1.1  jakllsch     // 4 char ASCII string to go in class identifier (option 60) in DHCP
     61      1.1  jakllsch     // and Boot Server discover packets.
     62      1.1  jakllsch     // For EfiNetworkInterfaceUndi this field is "UNDI".
     63      1.1  jakllsch     // For EfiNetworkInterfaceSnp this field is "SNPN".
     64      1.1  jakllsch 
     65      1.1  jakllsch     UINT8 Type;
     66      1.1  jakllsch     UINT8 MajorVer;
     67      1.1  jakllsch     UINT8 MinorVer;
     68      1.1  jakllsch     // Information to be placed into the PXE DHCP and Discover packets.
     69      1.1  jakllsch     // This is the network interface type and version number that will
     70      1.1  jakllsch     // be placed into DHCP option 94 (client network interface identifier).
     71      1.1  jakllsch     BOOLEAN Ipv6Supported;
     72  1.1.1.2  jmcneill     UINT8   IfNum;	// interface number to be used with pxeid structure
     73  1.1.1.2  jmcneill } EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL, EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE;
     74      1.1  jakllsch 
     75  1.1.1.2  jmcneill // Note: Because it conflicted with the EDK2 struct name, the
     76  1.1.1.2  jmcneill // 'EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL' GUID definition,
     77  1.1.1.2  jmcneill // from older versions of gnu-efi, is now obsoleted.
     78  1.1.1.2  jmcneill // Use 'EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID' instead.
     79      1.1  jakllsch 
     80      1.1  jakllsch #endif // _EFI_NII_H
     81