/** @file\r
Functions declaration related with DHCPv6 for HTTP boot driver.\r
\r
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials are licensed and made available under \r
the terms and conditions of the BSD License that accompanies this distribution. \r
The full text of the license may be found at\r
#define HTTP_BOOT_DEFAULT_HOPLIMIT 64\r
#define HTTP_BOOT_DEFAULT_LIFETIME 50000\r
\r
-\r
-#define HTTP_BOOT_DHCP6_OPT_CLIENT_ID 1\r
-#define HTTP_BOOT_DHCP6_OPT_SERVER_ID 2\r
-#define HTTP_BOOT_DHCP6_OPT_IA_NA 3\r
-#define HTTP_BOOT_DHCP6_OPT_IA_TA 4\r
-#define HTTP_BOOT_DHCP6_OPT_IAADDR 5\r
-#define HTTP_BOOT_DHCP6_OPT_ORO 6\r
-#define HTTP_BOOT_DHCP6_OPT_PREFERENCE 7\r
-#define HTTP_BOOT_DHCP6_OPT_ELAPSED_TIME 8\r
-#define HTTP_BOOT_DHCP6_OPT_REPLAY_MSG 9\r
-#define HTTP_BOOT_DHCP6_OPT_AUTH 11\r
-#define HTTP_BOOT_DHCP6_OPT_UNICAST 12\r
-#define HTTP_BOOT_DHCP6_OPT_STATUS_CODE 13\r
-#define HTTP_BOOT_DHCP6_OPT_RAPID_COMMIT 14\r
-#define HTTP_BOOT_DHCP6_OPT_USER_CLASS 15\r
-#define HTTP_BOOT_DHCP6_OPT_VENDOR_CLASS 16\r
-#define HTTP_BOOT_DHCP6_OPT_VENDOR_OPTS 17\r
-#define HTTP_BOOT_DHCP6_OPT_INTERFACE_ID 18\r
-#define HTTP_BOOT_DHCP6_OPT_RECONFIG_MSG 19\r
-#define HTTP_BOOT_DHCP6_OPT_RECONFIG_ACCEPT 20\r
-#define HTTP_BOOT_DHCP6_OPT_DNS_SERVERS 23\r
-#define HTTP_BOOT_DHCP6_OPT_BOOT_FILE_URL 59 // Assigned by IANA, RFC 5970\r
-#define HTTP_BOOT_DHCP6_OPT_BOOT_FILE_PARAM 60 // Assigned by IANA, RFC 5970\r
-#define HTTP_BOOT_DHCP6_OPT_ARCH 61 // Assigned by IANA, RFC 5970\r
-#define HTTP_BOOT_DHCP6_OPT_UNDI 62 // Assigned by IANA, RFC 5970\r
#define HTTP_BOOT_DHCP6_ENTERPRISE_NUM 343 // TODO: IANA TBD: temporarily using Intel's\r
#define HTTP_BOOT_DHCP6_MAX_BOOT_FILE_SIZE 65535 // It's a limitation of bit length, 65535*512 bytes.\r
\r
} HTTP_BOOT_DHCP6_OPTION_ARCH;\r
\r
typedef struct {\r
- UINT8 ClassIdentifier[10];\r
+ UINT8 ClassIdentifier[11];\r
UINT8 ArchitecturePrefix[5];\r
UINT8 ArchitectureType[5];\r
UINT8 Lit3[1];\r
HTTP_BOOT_DHCP6_OPTION_VENDOR_CLASS *VendorClass;\r
} HTTP_BOOT_DHCP6_OPTION_ENTRY;\r
\r
+#define HTTP_CACHED_DHCP6_PACKET_MAX_SIZE (OFFSET_OF (EFI_DHCP6_PACKET, Dhcp6) + HTTP_BOOT_DHCP6_PACKET_MAX_SIZE)\r
+\r
typedef union {\r
EFI_DHCP6_PACKET Offer;\r
EFI_DHCP6_PACKET Ack;\r
- UINT8 Buffer[HTTP_BOOT_DHCP6_PACKET_MAX_SIZE];\r
+ UINT8 Buffer[HTTP_CACHED_DHCP6_PACKET_MAX_SIZE];\r
} HTTP_BOOT_DHCP6_PACKET;\r
\r
typedef struct {\r