2010-11-01 07:13:54 +01:00
|
|
|
/** @file
|
|
|
|
NVData structure used by the IP6 configuration component.
|
|
|
|
|
2011-08-24 12:55:55 +02:00
|
|
|
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
|
2010-11-01 07:13:54 +01:00
|
|
|
|
|
|
|
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_
|
|
|
|
|
|
|
|
#define IP6_CONFIG_NVDATA_GUID \
|
|
|
|
{ \
|
|
|
|
0x2eea107, 0x98db, 0x400e, { 0x98, 0x30, 0x46, 0xa, 0x15, 0x42, 0xd7, 0x99 } \
|
|
|
|
}
|
|
|
|
|
|
|
|
#define FORMID_MAIN_FORM 1
|
|
|
|
#define FORMID_MANUAL_CONFIG_FORM 2
|
2011-08-24 12:55:55 +02:00
|
|
|
#define FORMID_HEAD_FORM 3
|
2010-11-01 07:13:54 +01:00
|
|
|
|
|
|
|
#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
|
2011-08-24 12:55:55 +02:00
|
|
|
#define KEY_GET_CURRENT_SETTING 0x108
|
2010-11-01 07:13:54 +01:00
|
|
|
|
|
|
|
#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 24
|
|
|
|
#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
|
|
|
|
|