1 /** @file 2 NVData structure used by the IP6 configuration component. 3 4 Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR> 5 6 This program and the accompanying materials 7 are licensed and made available under the terms and conditions of the BSD License 8 which accompanies this distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php. 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #ifndef _IP6_NV_DATA_H_ 17 #define _IP6_NV_DATA_H_ 18 19 #include <Guid/Ip6ConfigHii.h> 20 21 #define FORMID_MAIN_FORM 1 22 #define FORMID_MANUAL_CONFIG_FORM 2 23 #define FORMID_HEAD_FORM 3 24 25 #define IP6_POLICY_AUTO 0 26 #define IP6_POLICY_MANUAL 1 27 #define DAD_MAX_TRANSMIT_COUNT 10 28 29 #define KEY_INTERFACE_ID 0x101 30 #define KEY_MANUAL_ADDRESS 0x102 31 #define KEY_GATEWAY_ADDRESS 0x103 32 #define KEY_DNS_ADDRESS 0x104 33 #define KEY_SAVE_CHANGES 0x105 34 #define KEY_SAVE_CONFIG_CHANGES 0x106 35 #define KEY_IGNORE_CONFIG_CHANGES 0x107 36 #define KEY_GET_CURRENT_SETTING 0x108 37 38 #define HOST_ADDRESS_LABEL 0x9000 39 #define ROUTE_TABLE_LABEL 0xa000 40 #define GATEWAY_ADDRESS_LABEL 0xb000 41 #define DNS_ADDRESS_LABEL 0xc000 42 #define LABEL_END 0xffff 43 44 #define INTERFACE_ID_STR_MIN_SIZE 1 45 #define INTERFACE_ID_STR_MAX_SIZE 23 46 #define INTERFACE_ID_STR_STORAGE 25 47 #define IP6_STR_MAX_SIZE 40 48 #define ADDRESS_STR_MIN_SIZE 2 49 #define ADDRESS_STR_MAX_SIZE 255 50 51 /// 52 /// IP6_CONFIG_IFR_NVDATA contains the IP6 configure 53 /// parameters for that NIC. 54 /// 55 #pragma pack(1) 56 typedef struct { 57 UINT8 IfType; ///< interface type 58 UINT8 Padding[3]; 59 UINT32 Policy; ///< manual or automatic 60 UINT32 DadTransmitCount; ///< dad transmits count 61 CHAR16 InterfaceId[INTERFACE_ID_STR_STORAGE]; ///< alternative interface id 62 CHAR16 ManualAddress[ADDRESS_STR_MAX_SIZE]; ///< IP addresses 63 CHAR16 GatewayAddress[ADDRESS_STR_MAX_SIZE]; ///< Gateway address 64 CHAR16 DnsAddress[ADDRESS_STR_MAX_SIZE]; ///< DNS server address 65 } IP6_CONFIG_IFR_NVDATA; 66 #pragma pack() 67 68 #endif 69 70