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