Rev 2726 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 2726 | vana | 1 | #ifndef _EFI_NII_H |
| 2 | #define _EFI_NII_H |
||
| 3 | |||
| 4 | /*++ |
||
| 5 | Copyright (c) 2000 Intel Corporation |
||
| 6 | |||
| 7 | Module name: |
||
| 8 | efi_nii.h |
||
| 9 | |||
| 10 | Abstract: |
||
| 11 | |||
| 12 | Revision history: |
||
| 13 | 2000-Feb-18 M(f)J GUID updated. |
||
| 14 | Structure order changed for machine word alignment. |
||
| 15 | Added StringId[4] to structure. |
||
| 16 | |||
| 17 | 2000-Feb-14 M(f)J Genesis. |
||
| 18 | --*/ |
||
| 19 | |||
| 20 | #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \ |
||
| 21 | { 0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29} } |
||
| 22 | |||
| 23 | #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000 |
||
| 24 | |||
| 25 | typedef enum { |
||
| 26 | EfiNetworkInterfaceUndi = 1 |
||
| 27 | } EFI_NETWORK_INTERFACE_TYPE; |
||
| 28 | |||
| 29 | typedef struct { |
||
| 30 | |||
| 31 | UINT64 Revision; |
||
| 32 | // Revision of the network interface identifier protocol interface. |
||
| 33 | |||
| 34 | UINT64 ID; |
||
| 35 | // Address of the first byte of the identifying structure for this |
||
| 36 | // network interface. This is set to zero if there is no structure. |
||
| 37 | // |
||
| 38 | // For PXE/UNDI this is the first byte of the !PXE structure. |
||
| 39 | |||
| 40 | UINT64 ImageAddr; |
||
| 41 | // Address of the UNrelocated driver/ROM image. This is set |
||
| 42 | // to zero if there is no driver/ROM image. |
||
| 43 | // |
||
| 44 | // For 16-bit UNDI, this is the first byte of the option ROM in |
||
| 45 | // upper memory. |
||
| 46 | // |
||
| 47 | // For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM |
||
| 48 | // image. |
||
| 49 | // |
||
| 50 | // For H/W UNDI, this is set to zero. |
||
| 51 | |||
| 52 | UINT32 ImageSize; |
||
| 53 | // Size of the UNrelocated driver/ROM image of this network interface. |
||
| 54 | // This is set to zero if there is no driver/ROM image. |
||
| 55 | |||
| 56 | CHAR8 StringId[4]; |
||
| 57 | // 4 char ASCII string to go in class identifier (option 60) in DHCP |
||
| 58 | // and Boot Server discover packets. |
||
| 59 | // For EfiNetworkInterfaceUndi this field is "UNDI". |
||
| 60 | // For EfiNetworkInterfaceSnp this field is "SNPN". |
||
| 61 | |||
| 62 | UINT8 Type; |
||
| 63 | UINT8 MajorVer; |
||
| 64 | UINT8 MinorVer; |
||
| 65 | // Information to be placed into the PXE DHCP and Discover packets. |
||
| 66 | // This is the network interface type and version number that will |
||
| 67 | // be placed into DHCP option 94 (client network interface identifier). |
||
| 68 | BOOLEAN Ipv6Supported; |
||
| 69 | UINT8 IfNum; // interface number to be used with pxeid structure |
||
| 70 | } EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE; |
||
| 71 | |||
| 72 | extern EFI_GUID NetworkInterfaceIdentifierProtocol; |
||
| 73 | |||
| 74 | #endif // _EFI_NII_H |