/** @file
  NVData structure used by the IP6 configuration component.

  Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>

  SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#ifndef _IP6_NV_DATA_H_
#define _IP6_NV_DATA_H_

#include <Guid/Ip6ConfigHii.h>

#define FORMID_MAIN_FORM           1
#define FORMID_MANUAL_CONFIG_FORM  2
#define FORMID_HEAD_FORM           3

#define IP6_POLICY_AUTO         0
#define IP6_POLICY_MANUAL       1
#define DAD_MAX_TRANSMIT_COUNT  10

#define KEY_INTERFACE_ID           0x101
#define KEY_MANUAL_ADDRESS         0x102
#define KEY_GATEWAY_ADDRESS        0x103
#define KEY_DNS_ADDRESS            0x104
#define KEY_SAVE_CHANGES           0x105
#define KEY_SAVE_CONFIG_CHANGES    0x106
#define KEY_IGNORE_CONFIG_CHANGES  0x107
#define KEY_GET_CURRENT_SETTING    0x108

#define HOST_ADDRESS_LABEL     0x9000
#define ROUTE_TABLE_LABEL      0xa000
#define GATEWAY_ADDRESS_LABEL  0xb000
#define DNS_ADDRESS_LABEL      0xc000
#define LABEL_END              0xffff

#define INTERFACE_ID_STR_MIN_SIZE  1
#define INTERFACE_ID_STR_MAX_SIZE  23
#define INTERFACE_ID_STR_STORAGE   25
#define IP6_STR_MAX_SIZE           40
#define ADDRESS_STR_MIN_SIZE       2
#define ADDRESS_STR_MAX_SIZE       255

///
/// IP6_CONFIG_IFR_NVDATA contains the IP6 configure
/// parameters for that NIC.
///
#pragma pack(1)
typedef struct {
  UINT8     IfType;                                       ///< interface type
  UINT8     Padding[3];
  UINT32    Policy;                                       ///< manual or automatic
  UINT32    DadTransmitCount;                             ///< dad transmits count
  CHAR16    InterfaceId[INTERFACE_ID_STR_STORAGE];        ///< alternative interface id
  CHAR16    ManualAddress[ADDRESS_STR_MAX_SIZE];          ///< IP addresses
  CHAR16    GatewayAddress[ADDRESS_STR_MAX_SIZE];         ///< Gateway address
  CHAR16    DnsAddress[ADDRESS_STR_MAX_SIZE];             ///< DNS server address
} IP6_CONFIG_IFR_NVDATA;
#pragma pack()

#endif
