hc
2024-03-26 e0728245c89800c2038c23308f2d88969d5b41c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/** @file
  Routines used to operate the Ip4Dxe.
 
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
 
**/
 
#ifndef _IP4_NV_DATA_H_
#define _IP4_NV_DATA_H_
 
#include <Guid/Ip4Config2Hii.h>
 
#define FORMID_MAIN_FORM    1
#define FORMID_DEVICE_FORM  2
 
#define KEY_ENABLE                0x100
#define KEY_DHCP_ENABLE           0x101
#define KEY_LOCAL_IP              0x102
#define KEY_SUBNET_MASK           0x103
#define KEY_GATE_WAY              0x104
#define KEY_DNS                   0x105
#define KEY_SAVE_CHANGES          0x106
 
#define IP_MIN_SIZE               7
#define IP_MAX_SIZE               15
#define IP4_STR_MAX_SIZE          16
#define ADDRESS_STR_MAX_SIZE      255
#define MAX_IP4_CONFIG_DNS        16
 
///
/// IP4_CONFIG2_IFR_NVDATA contains the IP4 configure
/// parameters for that NIC.
///
typedef struct {
  UINT8           Configure;                         ///< NIC configure status
  UINT8           DhcpEnable;                        ///< Static or DHCP
  CHAR16          StationAddress[IP4_STR_MAX_SIZE];  ///< IP addresses
  CHAR16          SubnetMask[IP4_STR_MAX_SIZE];      ///< Subnet address
  CHAR16          GatewayAddress[IP4_STR_MAX_SIZE];  ///< Gateway address
  CHAR16          DnsAddress[ADDRESS_STR_MAX_SIZE];  ///< DNS server address
} IP4_CONFIG2_IFR_NVDATA;
 
#endif