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