/** @file | |
NVData structure used by the IP6 configuration component. | |
Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR> | |
This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which accompanies this distribution. The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php. | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
**/ | |
#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 | |