| /** @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 | |