mirror of https://github.com/acidanthera/audk.git
63 lines
2.0 KiB
C
63 lines
2.0 KiB
C
/** @file
|
|
NVData structure used by the IP6 configuration component.
|
|
|
|
Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#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
|