Subversion Repositories HelenOS

Rev

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