Deleted Added
full compact
efi_nii.h (96893) efi_nii.h (163898)
1/* $FreeBSD: head/sys/boot/efi/include/efi_nii.h 96893 2002-05-19 03:17:22Z marcel $ */
1/* $FreeBSD: head/sys/boot/efi/include/efi_nii.h 163898 2006-11-02 02:42:48Z marcel $ */
2#ifndef _EFI_NII_H
3#define _EFI_NII_H
4
5/*++
2#ifndef _EFI_NII_H
3#define _EFI_NII_H
4
5/*++
6Copyright (c) 2000 Intel Corporation
6Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved
7This software and associated documentation (if any) is furnished
8under a license and may only be used or copied in accordance
9with the terms of the license. Except as permitted by such
10license, no part of this software or documentation may be
11reproduced, stored in a retrieval system, or transmitted in any
12form or by any means without the express written consent of
13Intel Corporation.
7
8Module name:
9 efi_nii.h
10
11Abstract:
12
13Revision history:
14 2000-Feb-18 M(f)J GUID updated.
15 Structure order changed for machine word alignment.
16 Added StringId[4] to structure.
17
18 2000-Feb-14 M(f)J Genesis.
19--*/
20
21#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \
22 { 0xE18541CD, 0xF755, 0x4f73, 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 }
14
15Module name:
16 efi_nii.h
17
18Abstract:
19
20Revision history:
21 2000-Feb-18 M(f)J GUID updated.
22 Structure order changed for machine word alignment.
23 Added StringId[4] to structure.
24
25 2000-Feb-14 M(f)J Genesis.
26--*/
27
28#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \
29 { 0xE18541CD, 0xF755, 0x4f73, 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 }
30#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_31 \
31 { 0x1ACED566, 0x76ED, 0x4218, 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 }
23
24#define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000
32
33#define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000
34#define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION_31 0x00010001
25
26typedef enum {
27 EfiNetworkInterfaceUndi = 1
28} EFI_NETWORK_INTERFACE_TYPE;
29
30typedef struct {
31
35
36typedef enum {
37 EfiNetworkInterfaceUndi = 1
38} EFI_NETWORK_INTERFACE_TYPE;
39
40typedef struct {
41
32 /* Revision of the network interface identifier protocol interface. */
33 UINT64 Revision;
42 UINT64 Revision;
43 // Revision of the network interface identifier protocol interface.
34
44
35 /*
36 * Address of the first byte of the identifying structure for this
37 * network interface. This is set to zero if there is no structure.
38 * For PXE/UNDI this is the first byte of the !PXE structure.
39 */
40 UINT64 ID;
45 UINT64 ID;
46 // Address of the first byte of the identifying structure for this
47 // network interface. This is set to zero if there is no structure.
48 //
49 // For PXE/UNDI this is the first byte of the !PXE structure.
41
50
42 /*
43 * Address of the UNrelocated driver/ROM image. This is set
44 * to zero if there is no driver/ROM image.
45 * For 16-bit UNDI, this is the first byte of the option ROM in
46 * upper memory.
47 * For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM
48 * image.
49 * For H/W UNDI, this is set to zero.
50 */
51 UINT64 ImageAddr;
51 UINT64 ImageAddr;
52 // Address of the UNrelocated driver/ROM image. This is set
53 // to zero if there is no driver/ROM image.
54 //
55 // For 16-bit UNDI, this is the first byte of the option ROM in
56 // upper memory.
57 //
58 // For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM
59 // image.
60 //
61 // For H/W UNDI, this is set to zero.
52
62
53 /*
54 * Size of the UNrelocated driver/ROM image of this network interface.
55 * This is set to zero if there is no driver/ROM image.
56 */
57 UINT32 ImageSize;
63 UINT32 ImageSize;
64 // Size of the UNrelocated driver/ROM image of this network interface.
65 // This is set to zero if there is no driver/ROM image.
58
66
59 /*
60 * 4 char ASCII string to go in class identifier (option 60) in DHCP
61 * and Boot Server discover packets.
62 * For EfiNetworkInterfaceUndi this field is "UNDI".
63 * For EfiNetworkInterfaceSnp this field is "SNPN".
64 */
65 CHAR8 StringId[4];
67 CHAR8 StringId[4];
68 // 4 char ASCII string to go in class identifier (option 60) in DHCP
69 // and Boot Server discover packets.
70 // For EfiNetworkInterfaceUndi this field is "UNDI".
71 // For EfiNetworkInterfaceSnp this field is "SNPN".
66
72
67 /*
68 * Information to be placed into the PXE DHCP and Discover packets.
69 * This is the network interface type and version number that will
70 * be placed into DHCP option 94 (client network interface identifier).
71 */
72 UINT8 Type;
73 UINT8 MajorVer;
74 UINT8 MinorVer;
73 UINT8 Type;
74 UINT8 MajorVer;
75 UINT8 MinorVer;
75
76 // Information to be placed into the PXE DHCP and Discover packets.
77 // This is the network interface type and version number that will
78 // be placed into DHCP option 94 (client network interface identifier).
76 BOOLEAN Ipv6Supported;
79 BOOLEAN Ipv6Supported;
77 UINT8 IfNum; /* interface number to be used with pxeid structure */
80 UINT8 IfNum; // interface number to be used with pxeid structure
78} EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE;
79
80extern EFI_GUID NetworkInterfaceIdentifierProtocol;
81} EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE;
82
83extern EFI_GUID NetworkInterfaceIdentifierProtocol;
84extern EFI_GUID NetworkInterfaceIdentifierProtocol_31;
81
85
82#endif /* _EFI_NII_H */
86#endif // _EFI_NII_H