Rev 2726 | Go to most recent revision | 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 |