4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/** @file
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync NVData structure used by the IP6 configuration component.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync are licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync which accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync http://opensource.org/licenses/bsd-license.php.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#ifndef _IP6_NV_DATA_H_
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define _IP6_NV_DATA_H_
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#include <Guid/Ip6ConfigHii.h>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define FORMID_MAIN_FORM 1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define FORMID_MANUAL_CONFIG_FORM 2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define FORMID_HEAD_FORM 3
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define IP6_POLICY_AUTO 0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define IP6_POLICY_MANUAL 1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define DAD_MAX_TRANSMIT_COUNT 10
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define KEY_INTERFACE_ID 0x101
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define KEY_MANUAL_ADDRESS 0x102
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define KEY_GATEWAY_ADDRESS 0x103
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define KEY_DNS_ADDRESS 0x104
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define KEY_SAVE_CHANGES 0x105
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define KEY_SAVE_CONFIG_CHANGES 0x106
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define KEY_IGNORE_CONFIG_CHANGES 0x107
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define KEY_GET_CURRENT_SETTING 0x108
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define HOST_ADDRESS_LABEL 0x9000
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define ROUTE_TABLE_LABEL 0xa000
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define GATEWAY_ADDRESS_LABEL 0xb000
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define DNS_ADDRESS_LABEL 0xc000
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define LABEL_END 0xffff
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define INTERFACE_ID_STR_MIN_SIZE 1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define INTERFACE_ID_STR_MAX_SIZE 23
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define INTERFACE_ID_STR_STORAGE 24
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define IP6_STR_MAX_SIZE 40
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define ADDRESS_STR_MIN_SIZE 2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define ADDRESS_STR_MAX_SIZE 255
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync///
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// IP6_CONFIG_IFR_NVDATA contains the IP6 configure
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// parameters for that NIC.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync///
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#pragma pack(1)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 IfType; ///< interface type
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 Padding[3];
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 Policy; ///< manual or automatic
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 DadTransmitCount; ///< dad transmits count
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR16 InterfaceId[INTERFACE_ID_STR_STORAGE]; ///< alternative interface id
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR16 ManualAddress[ADDRESS_STR_MAX_SIZE]; ///< IP addresses
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR16 GatewayAddress[ADDRESS_STR_MAX_SIZE]; ///< Gateway address
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR16 DnsAddress[ADDRESS_STR_MAX_SIZE]; ///< DNS server address
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} IP6_CONFIG_IFR_NVDATA;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#pragma pack()
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#endif
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync