]>
git.proxmox.com Git - mirror_edk2.git/blob - NetworkPkg/Ip6Dxe/Ip6NvData.h
2 NVData structure used by the IP6 configuration component.
4 Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #ifndef _IP6_NV_DATA_H_
11 #define _IP6_NV_DATA_H_
13 #include <Guid/Ip6ConfigHii.h>
15 #define FORMID_MAIN_FORM 1
16 #define FORMID_MANUAL_CONFIG_FORM 2
17 #define FORMID_HEAD_FORM 3
19 #define IP6_POLICY_AUTO 0
20 #define IP6_POLICY_MANUAL 1
21 #define DAD_MAX_TRANSMIT_COUNT 10
23 #define KEY_INTERFACE_ID 0x101
24 #define KEY_MANUAL_ADDRESS 0x102
25 #define KEY_GATEWAY_ADDRESS 0x103
26 #define KEY_DNS_ADDRESS 0x104
27 #define KEY_SAVE_CHANGES 0x105
28 #define KEY_SAVE_CONFIG_CHANGES 0x106
29 #define KEY_IGNORE_CONFIG_CHANGES 0x107
30 #define KEY_GET_CURRENT_SETTING 0x108
32 #define HOST_ADDRESS_LABEL 0x9000
33 #define ROUTE_TABLE_LABEL 0xa000
34 #define GATEWAY_ADDRESS_LABEL 0xb000
35 #define DNS_ADDRESS_LABEL 0xc000
36 #define LABEL_END 0xffff
38 #define INTERFACE_ID_STR_MIN_SIZE 1
39 #define INTERFACE_ID_STR_MAX_SIZE 23
40 #define INTERFACE_ID_STR_STORAGE 25
41 #define IP6_STR_MAX_SIZE 40
42 #define ADDRESS_STR_MIN_SIZE 2
43 #define ADDRESS_STR_MAX_SIZE 255
46 /// IP6_CONFIG_IFR_NVDATA contains the IP6 configure
47 /// parameters for that NIC.
51 UINT8 IfType
; ///< interface type
53 UINT32 Policy
; ///< manual or automatic
54 UINT32 DadTransmitCount
; ///< dad transmits count
55 CHAR16 InterfaceId
[INTERFACE_ID_STR_STORAGE
]; ///< alternative interface id
56 CHAR16 ManualAddress
[ADDRESS_STR_MAX_SIZE
]; ///< IP addresses
57 CHAR16 GatewayAddress
[ADDRESS_STR_MAX_SIZE
]; ///< Gateway address
58 CHAR16 DnsAddress
[ADDRESS_STR_MAX_SIZE
]; ///< DNS server address
59 } IP6_CONFIG_IFR_NVDATA
;