/** @file
  Routines used to operate the Ip4Dxe.
Copyright (c) 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _IP4_NV_DATA_H_
#define _IP4_NV_DATA_H_
#include 
#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