]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
1. retired NicIp4ConfigProtocolGuid
[mirror_edk2.git] / MdeModulePkg / Include / Guid / NicIp4ConfigNvData.h
1 /** @file
2 This file defines NIC_IP4_CONFIG_INFO structure.
3
4 Copyright (c) 2009, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef __NIC_IP4_CONFIG_NVDATA_H__
16 #define __NIC_IP4_CONFIG_NVDATA_H__
17
18 #include <Protocol/Ip4Config.h>
19
20 #define EFI_NIC_IP4_CONFIG_VARIABLE_GUID \
21 { \
22 0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b } \
23 }
24
25 #define EFI_NIC_IP4_CONFIG_VARIABLE L"EfiNicIp4ConfigVariable"
26
27 typedef enum {
28 //
29 // Config source: dhcp or static
30 //
31 IP4_CONFIG_SOURCE_DHCP = 0,
32 IP4_CONFIG_SOURCE_STATIC,
33 IP4_CONFIG_SOURCE_MAX,
34
35 IP4_NIC_NAME_LENGTH = 64,
36 MAX_IP4_CONFIG_IN_VARIABLE = 16
37 } IP4_CONFIG_TYPE;
38
39 //
40 // The following structures are used by drivers/applications other
41 // than EFI_IP4_PROTOCOL, such as ifconfig shell application, to
42 // communicate the IP configuration information to EFI_IP4_CONFIG_PROTOCOL.
43 // EFI_IP4_CONFIG_PROTOCOL in turn is used by EFI_IP4_PROTOCOL to get
44 // the default IP4 configuration. ifconfig can't use the EFI_IP4_PROTOCOL
45 // because it don't know how to configure the default IP address even
46 // it has got the address.
47 //
48
49 ///
50 /// NIC_ADDR contains the interface's type and MAC address to identify
51 /// a specific NIC.
52 ///
53 typedef struct {
54 UINT16 Type; ///< Interface type
55 UINT8 Len; ///< Length of MAC address
56 EFI_MAC_ADDRESS MacAddr; ///< MAC address of interface
57 } NIC_ADDR;
58
59 ///
60 /// NIC_IP4_CONFIG_INFO contains the IP4 configure
61 /// parameters for that NIC. NIC_IP4_CONFIG_INFO is
62 /// of variable length.
63 ///
64 typedef struct {
65 NIC_ADDR NicAddr; ///< Link layer address to identify the NIC
66 UINT32 Source; ///< Static or DHCP
67 BOOLEAN Perment; ///< Survive the reboot or not
68 EFI_IP4_IPCONFIG_DATA Ip4Info; ///< IP addresses
69 } NIC_IP4_CONFIG_INFO;
70
71 extern EFI_GUID gEfiNicIp4ConfigVariableGuid;
72
73 #endif