]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
Committing changes to the comments, to improve code documentation.
[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 the ifconfig shell application, to
42 // communicate the IP configuration information to the EFI_IP4_CONFIG_PROTOCOL.
43 // The EFI_IP4_PROTOCOL uses the EFI_IP4_CONFIG_PROTOCOL to get
44 // the default IP4 configuration.
45 //
46
47 ///
48 /// NIC_ADDR contains the interface's type and MAC address to identify
49 /// a specific NIC.
50 ///
51 typedef struct {
52 UINT16 Type; ///< Interface type
53 UINT8 Len; ///< Length of MAC address
54 EFI_MAC_ADDRESS MacAddr; ///< MAC address of interface
55 } NIC_ADDR;
56
57 ///
58 /// NIC_IP4_CONFIG_INFO contains the IP4 configure
59 /// parameters for that NIC. NIC_IP4_CONFIG_INFO is
60 /// of variable length.
61 ///
62 typedef struct {
63 NIC_ADDR NicAddr; ///< Link layer address to identify the NIC
64 UINT32 Source; ///< Static or DHCP
65 BOOLEAN Perment; ///< Survive the reboot or not
66 EFI_IP4_IPCONFIG_DATA Ip4Info; ///< IP addresses
67 } NIC_IP4_CONFIG_INFO;
68
69 extern EFI_GUID gEfiNicIp4ConfigVariableGuid;
70
71 #endif