From: Zhang Lubo Date: Wed, 22 Jun 2016 02:25:21 +0000 (+0800) Subject: NetworkPkg: Refine codes related to Dhcpv4 and Dhcpv6 configuration. X-Git-Tag: edk2-stable201903~6798 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=142c00c3d659a6d5d66416385b4c93fd9a9f10e6 NetworkPkg: Refine codes related to Dhcpv4 and Dhcpv6 configuration. v2: *Since we have redefined the name of arch types in Dhcp.h for http boot, it need to change corresponding codes. Add a new head file Dhcp.h in Mde/Include/IndustryStandard, normalize the universal option numbers and other network number tags. Cc: Sriram Subramanian Cc: Ye Ting Cc: Fu Siyuan Cc: Wu Jiaxin Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo Reviewed-by: Fu Siyuan --- diff --git a/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h b/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h index e3e7553163..86ef8afb29 100644 --- a/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h +++ b/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h @@ -1,7 +1,7 @@ /** @file Dhcp6 internal data structure and definition declaration. - Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -19,6 +19,8 @@ #include +#include + #include #include #include @@ -50,66 +52,6 @@ typedef struct _DHCP6_INSTANCE DHCP6_INSTANCE; #define DHCP6_SERVICE_SIGNATURE SIGNATURE_32 ('D', 'H', '6', 'S') #define DHCP6_INSTANCE_SIGNATURE SIGNATURE_32 ('D', 'H', '6', 'I') -// -// Transmit parameters of solicit message, refers to section-5.5 of rfc-3315. -// -#define DHCP6_SOL_MAX_DELAY 1 -#define DHCP6_SOL_IRT 1 -#define DHCP6_SOL_MRC 0 -#define DHCP6_SOL_MRT 120 -#define DHCP6_SOL_MRD 0 -// -// Transmit parameters of request message, refers to section-5.5 of rfc-3315. -// -#define DHCP6_REQ_IRT 1 -#define DHCP6_REQ_MRC 10 -#define DHCP6_REQ_MRT 30 -#define DHCP6_REQ_MRD 0 -// -// Transmit parameters of confirm message, refers to section-5.5 of rfc-3315. -// -#define DHCP6_CNF_MAX_DELAY 1 -#define DHCP6_CNF_IRT 1 -#define DHCP6_CNF_MRC 0 -#define DHCP6_CNF_MRT 4 -#define DHCP6_CNF_MRD 10 -// -// Transmit parameters of renew message, refers to section-5.5 of rfc-3315. -// -#define DHCP6_REN_IRT 10 -#define DHCP6_REN_MRC 0 -#define DHCP6_REN_MRT 600 -#define DHCP6_REN_MRD 0 -// -// Transmit parameters of rebind message, refers to section-5.5 of rfc-3315. -// -#define DHCP6_REB_IRT 10 -#define DHCP6_REB_MRC 0 -#define DHCP6_REB_MRT 600 -#define DHCP6_REB_MRD 0 -// -// Transmit parameters of information request message, refers to section-5.5 of rfc-3315. -// -#define DHCP6_INF_MAX_DELAY 1 -#define DHCP6_INF_IRT 1 -#define DHCP6_INF_MRC 0 -#define DHCP6_INF_MRT 120 -#define DHCP6_INF_MRD 0 -// -// Transmit parameters of release message, refers to section-5.5 of rfc-3315. -// -#define DHCP6_REL_IRT 1 -#define DHCP6_REL_MRC 5 -#define DHCP6_REL_MRT 0 -#define DHCP6_REL_MRD 0 -// -// Transmit parameters of decline message, refers to section-5.5 of rfc-3315. -// -#define DHCP6_DEC_IRT 1 -#define DHCP6_DEC_MRC 5 -#define DHCP6_DEC_MRT 0 -#define DHCP6_DEC_MRD 0 - #define DHCP6_PACKET_ALL 0 #define DHCP6_PACKET_STATEFUL 1 #define DHCP6_PACKET_STATELESS 2 @@ -126,70 +68,6 @@ extern EFI_IPv6_ADDRESS mAllDhcpRelayAndServersAddress; extern EFI_IPv6_ADDRESS mAllDhcpServersAddress; extern EFI_DHCP6_PROTOCOL gDhcp6ProtocolTemplate; -// -// Enumeration of Dhcp6 message type, refers to section-5.3 of rfc-3315. -// -typedef enum { - Dhcp6MsgSolicit = 1, - Dhcp6MsgAdvertise = 2, - Dhcp6MsgRequest = 3, - Dhcp6MsgConfirm = 4, - Dhcp6MsgRenew = 5, - Dhcp6MsgRebind = 6, - Dhcp6MsgReply = 7, - Dhcp6MsgRelease = 8, - Dhcp6MsgDecline = 9, - Dhcp6MsgReconfigure = 10, - Dhcp6MsgInfoRequest = 11 -} DHCP6_MSG_TYPE; - -// -// Enumeration of option code in Dhcp6 packet, refers to section-24.3 of rfc-3315. -// -typedef enum { - Dhcp6OptClientId = 1, - Dhcp6OptServerId = 2, - Dhcp6OptIana = 3, - Dhcp6OptIata = 4, - Dhcp6OptIaAddr = 5, - Dhcp6OptRequestOption = 6, - Dhcp6OptPreference = 7, - Dhcp6OptElapsedTime = 8, - Dhcp6OptReplayMessage = 9, - Dhcp6OptAuthentication = 11, - Dhcp6OptServerUnicast = 12, - Dhcp6OptStatusCode = 13, - Dhcp6OptRapidCommit = 14, - Dhcp6OptUserClass = 15, - Dhcp6OptVendorClass = 16, - Dhcp6OptVendorInfo = 17, - Dhcp6OptInterfaceId = 18, - Dhcp6OptReconfigMessage = 19, - Dhcp6OptReconfigureAccept = 20 -} DHCP6_OPT_CODE; - -// -// Enumeration of status code recorded by IANA, refers to section-24.4 of rfc-3315. -// -typedef enum { - Dhcp6StsSuccess = 0, - Dhcp6StsUnspecFail = 1, - Dhcp6StsNoAddrsAvail = 2, - Dhcp6StsNoBinding = 3, - Dhcp6StsNotOnLink = 4, - Dhcp6StsUseMulticast = 5 -} DHCP6_STS_CODE; - -// -// Enumeration of Duid type recorded by IANA, refers to section-24.5 of rfc-3315. -// -typedef enum { - Dhcp6DuidTypeLlt = 1, - Dhcp6DuidTypeEn = 2, - Dhcp6DuidTypeLl = 3, - Dhcp6DuidTypeUuid = 4 -} DHCP6_DUID_TYPE; - // // Control block for each IA. // diff --git a/NetworkPkg/HttpBootDxe/HttpBootDhcp4.c b/NetworkPkg/HttpBootDxe/HttpBootDhcp4.c index 5a226d7f76..a47a8f494f 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootDhcp4.c +++ b/NetworkPkg/HttpBootDxe/HttpBootDhcp4.c @@ -18,13 +18,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // This is a map from the interested DHCP4 option tags' index to the tag value. // UINT8 mInterestedDhcp4Tags[HTTP_BOOT_DHCP4_TAG_INDEX_MAX] = { - HTTP_BOOT_DHCP4_TAG_BOOTFILE_LEN, - HTTP_BOOT_DHCP4_TAG_OVERLOAD, - HTTP_BOOT_DHCP4_TAG_MSG_TYPE, - HTTP_BOOT_DHCP4_TAG_SERVER_ID, - HTTP_BOOT_DHCP4_TAG_CLASS_ID, - HTTP_BOOT_DHCP4_TAG_BOOTFILE, - HTTP_BOOT_DHCP4_TAG_DNS_SERVER + DHCP4_TAG_BOOTFILE_LEN, + DHCP4_TAG_OVERLOAD, + DHCP4_TAG_MSG_TYPE, + DHCP4_TAG_SERVER_ID, + DHCP4_TAG_VENDOR_CLASS_ID, + DHCP4_TAG_BOOTFILE, + DHCP4_TAG_DNS_SERVER }; // @@ -59,42 +59,42 @@ HttpBootBuildDhcp4Options ( // // Append parameter request list option. // - OptList[Index]->OpCode = HTTP_BOOT_DHCP4_TAG_PARA_LIST; + OptList[Index]->OpCode = DHCP4_TAG_PARA_LIST; OptList[Index]->Length = 27; OptEnt.Para = (HTTP_BOOT_DHCP4_OPTION_PARA *) OptList[Index]->Data; - OptEnt.Para->ParaList[0] = HTTP_BOOT_DHCP4_TAG_NETMASK; - OptEnt.Para->ParaList[1] = HTTP_BOOT_DHCP4_TAG_TIME_OFFSET; - OptEnt.Para->ParaList[2] = HTTP_BOOT_DHCP4_TAG_ROUTER; - OptEnt.Para->ParaList[3] = HTTP_BOOT_DHCP4_TAG_TIME_SERVER; - OptEnt.Para->ParaList[4] = HTTP_BOOT_DHCP4_TAG_NAME_SERVER; - OptEnt.Para->ParaList[5] = HTTP_BOOT_DHCP4_TAG_DNS_SERVER; - OptEnt.Para->ParaList[6] = HTTP_BOOT_DHCP4_TAG_HOSTNAME; - OptEnt.Para->ParaList[7] = HTTP_BOOT_DHCP4_TAG_BOOTFILE_LEN; - OptEnt.Para->ParaList[8] = HTTP_BOOT_DHCP4_TAG_DOMAINNAME; - OptEnt.Para->ParaList[9] = HTTP_BOOT_DHCP4_TAG_ROOTPATH; - OptEnt.Para->ParaList[10] = HTTP_BOOT_DHCP4_TAG_EXTEND_PATH; - OptEnt.Para->ParaList[11] = HTTP_BOOT_DHCP4_TAG_EMTU; - OptEnt.Para->ParaList[12] = HTTP_BOOT_DHCP4_TAG_TTL; - OptEnt.Para->ParaList[13] = HTTP_BOOT_DHCP4_TAG_BROADCAST; - OptEnt.Para->ParaList[14] = HTTP_BOOT_DHCP4_TAG_NIS_DOMAIN; - OptEnt.Para->ParaList[15] = HTTP_BOOT_DHCP4_TAG_NIS_SERVER; - OptEnt.Para->ParaList[16] = HTTP_BOOT_DHCP4_TAG_NTP_SERVER; - OptEnt.Para->ParaList[17] = HTTP_BOOT_DHCP4_TAG_VENDOR; - OptEnt.Para->ParaList[18] = HTTP_BOOT_DHCP4_TAG_REQUEST_IP; - OptEnt.Para->ParaList[19] = HTTP_BOOT_DHCP4_TAG_LEASE; - OptEnt.Para->ParaList[20] = HTTP_BOOT_DHCP4_TAG_SERVER_ID; - OptEnt.Para->ParaList[21] = HTTP_BOOT_DHCP4_TAG_T1; - OptEnt.Para->ParaList[22] = HTTP_BOOT_DHCP4_TAG_T2; - OptEnt.Para->ParaList[23] = HTTP_BOOT_DHCP4_TAG_CLASS_ID; - OptEnt.Para->ParaList[25] = HTTP_BOOT_DHCP4_TAG_BOOTFILE; - OptEnt.Para->ParaList[26] = HTTP_BOOT_DHCP4_TAG_UUID; + OptEnt.Para->ParaList[0] = DHCP4_TAG_NETMASK; + OptEnt.Para->ParaList[1] = DHCP4_TAG_TIME_OFFSET; + OptEnt.Para->ParaList[2] = DHCP4_TAG_ROUTER; + OptEnt.Para->ParaList[3] = DHCP4_TAG_TIME_SERVER; + OptEnt.Para->ParaList[4] = DHCP4_TAG_NAME_SERVER; + OptEnt.Para->ParaList[5] = DHCP4_TAG_DNS_SERVER; + OptEnt.Para->ParaList[6] = DHCP4_TAG_HOSTNAME; + OptEnt.Para->ParaList[7] = DHCP4_TAG_BOOTFILE_LEN; + OptEnt.Para->ParaList[8] = DHCP4_TAG_DOMAINNAME; + OptEnt.Para->ParaList[9] = DHCP4_TAG_ROOTPATH; + OptEnt.Para->ParaList[10] = DHCP4_TAG_EXTEND_PATH; + OptEnt.Para->ParaList[11] = DHCP4_TAG_EMTU; + OptEnt.Para->ParaList[12] = DHCP4_TAG_TTL; + OptEnt.Para->ParaList[13] = DHCP4_TAG_BROADCAST; + OptEnt.Para->ParaList[14] = DHCP4_TAG_NIS_DOMAIN; + OptEnt.Para->ParaList[15] = DHCP4_TAG_NIS_SERVER; + OptEnt.Para->ParaList[16] = DHCP4_TAG_NTP_SERVER; + OptEnt.Para->ParaList[17] = DHCP4_TAG_VENDOR; + OptEnt.Para->ParaList[18] = DHCP4_TAG_REQUEST_IP; + OptEnt.Para->ParaList[19] = DHCP4_TAG_LEASE; + OptEnt.Para->ParaList[20] = DHCP4_TAG_SERVER_ID; + OptEnt.Para->ParaList[21] = DHCP4_TAG_T1; + OptEnt.Para->ParaList[22] = DHCP4_TAG_T2; + OptEnt.Para->ParaList[23] = DHCP4_TAG_VENDOR_CLASS_ID; + OptEnt.Para->ParaList[25] = DHCP4_TAG_BOOTFILE; + OptEnt.Para->ParaList[26] = DHCP4_TAG_UUID; Index++; OptList[Index] = GET_NEXT_DHCP_OPTION (OptList[Index - 1]); // // Append UUID/Guid-based client identifier option // - OptList[Index]->OpCode = HTTP_BOOT_DHCP4_TAG_UUID; + OptList[Index]->OpCode = DHCP4_TAG_UUID; OptList[Index]->Length = (UINT8) sizeof (HTTP_BOOT_DHCP4_OPTION_UUID); OptEnt.Uuid = (HTTP_BOOT_DHCP4_OPTION_UUID *) OptList[Index]->Data; OptEnt.Uuid->Type = 0; @@ -110,7 +110,7 @@ HttpBootBuildDhcp4Options ( // // Append client network device interface option // - OptList[Index]->OpCode = HTTP_BOOT_DHCP4_TAG_UNDI; + OptList[Index]->OpCode = DHCP4_TAG_UNDI; OptList[Index]->Length = (UINT8) sizeof (HTTP_BOOT_DHCP4_OPTION_UNDI); OptEnt.Undi = (HTTP_BOOT_DHCP4_OPTION_UNDI *) OptList[Index]->Data; @@ -130,7 +130,7 @@ HttpBootBuildDhcp4Options ( // // Append client system architecture option // - OptList[Index]->OpCode = HTTP_BOOT_DHCP4_TAG_ARCH; + OptList[Index]->OpCode = DHCP4_TAG_ARCH; OptList[Index]->Length = (UINT8) sizeof (HTTP_BOOT_DHCP4_OPTION_ARCH); OptEnt.Arch = (HTTP_BOOT_DHCP4_OPTION_ARCH *) OptList[Index]->Data; Value = HTONS (EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE); @@ -141,7 +141,7 @@ HttpBootBuildDhcp4Options ( // // Append vendor class identify option // - OptList[Index]->OpCode = HTTP_BOOT_DHCP4_TAG_CLASS_ID; + OptList[Index]->OpCode = DHCP4_TAG_VENDOR_CLASS_ID; OptList[Index]->Length = (UINT8) sizeof (HTTP_BOOT_DHCP4_OPTION_CLID); OptEnt.Clid = (HTTP_BOOT_DHCP4_OPTION_CLID *) OptList[Index]->Data; CopyMem ( @@ -190,7 +190,7 @@ HttpBootParseDhcp4Options ( Option = (EFI_DHCP4_PACKET_OPTION *) Buffer; Offset = 0; - while (Offset < Length && Option->OpCode != HTTP_BOOT_DHCP4_TAG_EOP) { + while (Offset < Length && Option->OpCode != DHCP4_TAG_EOP) { if (Option->OpCode == OptTag) { // @@ -202,7 +202,7 @@ HttpBootParseDhcp4Options ( // // Skip the current option to the next. // - if (Option->OpCode == HTTP_BOOT_DHCP4_TAG_PAD) { + if (Option->OpCode == DHCP4_TAG_PAD) { Offset++; } else { Offset += Option->Length + 2; @@ -607,7 +607,7 @@ HttpBootDhcp4CallBack ( MaxMsgSize = HttpBootParseDhcp4Options ( Packet->Dhcp4.Option, GET_OPTION_BUFFER_LEN (Packet), - HTTP_BOOT_DHCP4_TAG_MAXMSG + DHCP4_TAG_MAXMSG ); if (MaxMsgSize != NULL) { Value = HTONS (HTTP_BOOT_DHCP4_PACKET_MAX_SIZE); diff --git a/NetworkPkg/HttpBootDxe/HttpBootDhcp4.h b/NetworkPkg/HttpBootDxe/HttpBootDhcp4.h index 5ac7f71165..27d949850a 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootDhcp4.h +++ b/NetworkPkg/HttpBootDxe/HttpBootDhcp4.h @@ -24,47 +24,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define HTTP_BOOT_DHCP4_MSG_TYPE_REQUEST 3 #define HTTP_BOOT_DHCP4_MAGIC 0x63538263 // network byte order -// -// Dhcp Options -// -#define HTTP_BOOT_DHCP4_TAG_PAD 0 // Pad Option -#define HTTP_BOOT_DHCP4_TAG_EOP 255 // End Option -#define HTTP_BOOT_DHCP4_TAG_NETMASK 1 // Subnet Mask -#define HTTP_BOOT_DHCP4_TAG_TIME_OFFSET 2 // Time Offset from UTC -#define HTTP_BOOT_DHCP4_TAG_ROUTER 3 // Router option, -#define HTTP_BOOT_DHCP4_TAG_TIME_SERVER 4 // Time Server -#define HTTP_BOOT_DHCP4_TAG_NAME_SERVER 5 // Name Server -#define HTTP_BOOT_DHCP4_TAG_DNS_SERVER 6 // Domain Name Server -#define HTTP_BOOT_DHCP4_TAG_HOSTNAME 12 // Host Name -#define HTTP_BOOT_DHCP4_TAG_BOOTFILE_LEN 13 // Boot File Size -#define HTTP_BOOT_DHCP4_TAG_DUMP 14 // Merit Dump File -#define HTTP_BOOT_DHCP4_TAG_DOMAINNAME 15 // Domain Name -#define HTTP_BOOT_DHCP4_TAG_ROOTPATH 17 // Root path -#define HTTP_BOOT_DHCP4_TAG_EXTEND_PATH 18 // Extensions Path -#define HTTP_BOOT_DHCP4_TAG_EMTU 22 // Maximum Datagram Reassembly Size -#define HTTP_BOOT_DHCP4_TAG_TTL 23 // Default IP Time-to-live -#define HTTP_BOOT_DHCP4_TAG_BROADCAST 28 // Broadcast Address -#define HTTP_BOOT_DHCP4_TAG_NIS_DOMAIN 40 // Network Information Service Domain -#define HTTP_BOOT_DHCP4_TAG_NIS_SERVER 41 // Network Information Servers -#define HTTP_BOOT_DHCP4_TAG_NTP_SERVER 42 // Network Time Protocol Servers -#define HTTP_BOOT_DHCP4_TAG_VENDOR 43 // Vendor Specific Information -#define HTTP_BOOT_DHCP4_TAG_REQUEST_IP 50 // Requested IP Address -#define HTTP_BOOT_DHCP4_TAG_LEASE 51 // IP Address Lease Time -#define HTTP_BOOT_DHCP4_TAG_OVERLOAD 52 // Option Overload -#define HTTP_BOOT_DHCP4_TAG_MSG_TYPE 53 // DHCP Message Type -#define HTTP_BOOT_DHCP4_TAG_SERVER_ID 54 // Server Identifier -#define HTTP_BOOT_DHCP4_TAG_PARA_LIST 55 // Parameter Request List -#define HTTP_BOOT_DHCP4_TAG_MAXMSG 57 // Maximum DHCP Message Size -#define HTTP_BOOT_DHCP4_TAG_T1 58 // Renewal (T1) Time Value -#define HTTP_BOOT_DHCP4_TAG_T2 59 // Rebinding (T2) Time Value -#define HTTP_BOOT_DHCP4_TAG_CLASS_ID 60 // Vendor class identifier -#define HTTP_BOOT_DHCP4_TAG_CLIENT_ID 61 // Client-identifier -#define HTTP_BOOT_DHCP4_TAG_TFTP 66 // TFTP server name -#define HTTP_BOOT_DHCP4_TAG_BOOTFILE 67 // Bootfile name -#define HTTP_BOOT_DHCP4_TAG_ARCH 93 -#define HTTP_BOOT_DHCP4_TAG_UNDI 94 -#define HTTP_BOOT_DHCP4_TAG_UUID 97 - #define HTTP_BOOT_DHCP4_OVERLOAD_FILE 1 #define HTTP_BOOT_DHCP4_OVERLOAD_SERVER_NAME 2 @@ -75,15 +34,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. /// http://www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml /// #if defined (MDE_CPU_IA32) -#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE 0x000F +#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_IA32 #elif defined (MDE_CPU_X64) -#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE 0x0010 +#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_X64 #elif defined (MDE_CPU_ARM) -#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE 0x0012 +#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_ARM #elif defined (MDE_CPU_AARCH64) -#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE 0x0013 +#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_AARCH64 #elif defined (MDE_CPU_EBC) -#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE 0x0011 +#define EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE HTTP_CLIENT_ARCH_EBC #endif /// DHCP offer types among HTTP boot. diff --git a/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c b/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c index 9ea421d758..809accc29b 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c +++ b/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c @@ -1,7 +1,7 @@ /** @file Functions implementation related with DHCPv6 for HTTP boot driver. -Copyright (c) 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at @@ -41,20 +41,20 @@ HttpBootBuildDhcp6Options ( // // Append client option request option // - OptList[Index]->OpCode = HTONS (HTTP_BOOT_DHCP6_OPT_ORO); + OptList[Index]->OpCode = HTONS (DHCP6_OPT_ORO); OptList[Index]->OpLen = HTONS (8); OptEnt.Oro = (HTTP_BOOT_DHCP6_OPTION_ORO *) OptList[Index]->Data; - OptEnt.Oro->OpCode[0] = HTONS(HTTP_BOOT_DHCP6_OPT_BOOT_FILE_URL); - OptEnt.Oro->OpCode[1] = HTONS(HTTP_BOOT_DHCP6_OPT_BOOT_FILE_PARAM); - OptEnt.Oro->OpCode[2] = HTONS(HTTP_BOOT_DHCP6_OPT_DNS_SERVERS); - OptEnt.Oro->OpCode[3] = HTONS(HTTP_BOOT_DHCP6_OPT_VENDOR_CLASS); + OptEnt.Oro->OpCode[0] = HTONS(DHCP6_OPT_BOOT_FILE_URL); + OptEnt.Oro->OpCode[1] = HTONS(DHCP6_OPT_BOOT_FILE_PARAM); + OptEnt.Oro->OpCode[2] = HTONS(DHCP6_OPT_DNS_SERVERS); + OptEnt.Oro->OpCode[3] = HTONS(DHCP6_OPT_VENDOR_CLASS); Index++; OptList[Index] = GET_NEXT_DHCP6_OPTION (OptList[Index - 1]); // // Append client network device interface option // - OptList[Index]->OpCode = HTONS (HTTP_BOOT_DHCP6_OPT_UNDI); + OptList[Index]->OpCode = HTONS (DHCP6_OPT_UNDI); OptList[Index]->OpLen = HTONS ((UINT16)3); OptEnt.Undi = (HTTP_BOOT_DHCP6_OPTION_UNDI *) OptList[Index]->Data; @@ -74,7 +74,7 @@ HttpBootBuildDhcp6Options ( // // Append client system architecture option // - OptList[Index]->OpCode = HTONS (HTTP_BOOT_DHCP6_OPT_ARCH); + OptList[Index]->OpCode = HTONS (DHCP6_OPT_ARCH); OptList[Index]->OpLen = HTONS ((UINT16) sizeof (HTTP_BOOT_DHCP6_OPTION_ARCH)); OptEnt.Arch = (HTTP_BOOT_DHCP6_OPTION_ARCH *) OptList[Index]->Data; Value = HTONS (EFI_HTTP_BOOT_CLIENT_SYSTEM_ARCHITECTURE); @@ -85,7 +85,7 @@ HttpBootBuildDhcp6Options ( // // Append vendor class identify option. // - OptList[Index]->OpCode = HTONS (HTTP_BOOT_DHCP6_OPT_VENDOR_CLASS); + OptList[Index]->OpCode = HTONS (DHCP6_OPT_VENDOR_CLASS); OptList[Index]->OpLen = HTONS ((UINT16) sizeof (HTTP_BOOT_DHCP6_OPTION_VENDOR_CLASS)); OptEnt.VendorClass = (HTTP_BOOT_DHCP6_OPTION_VENDOR_CLASS *) OptList[Index]->Data; OptEnt.VendorClass->Vendor = HTONL (HTTP_BOOT_DHCP6_ENTERPRISE_NUM); @@ -211,18 +211,18 @@ HttpBootParseDhcp6Packet ( // while (Offset < Length) { - if (NTOHS (Option->OpCode) == HTTP_BOOT_DHCP6_OPT_IA_NA) { + if (NTOHS (Option->OpCode) == DHCP6_OPT_IA_NA) { Options[HTTP_BOOT_DHCP6_IDX_IA_NA] = Option; - } else if (NTOHS (Option->OpCode) == HTTP_BOOT_DHCP6_OPT_BOOT_FILE_URL) { + } else if (NTOHS (Option->OpCode) == DHCP6_OPT_BOOT_FILE_URL) { // // The server sends this option to inform the client about an URL to a boot file. // Options[HTTP_BOOT_DHCP6_IDX_BOOT_FILE_URL] = Option; - } else if (NTOHS (Option->OpCode) == HTTP_BOOT_DHCP6_OPT_BOOT_FILE_PARAM) { + } else if (NTOHS (Option->OpCode) == DHCP6_OPT_BOOT_FILE_PARAM) { Options[HTTP_BOOT_DHCP6_IDX_BOOT_FILE_PARAM] = Option; - } else if (NTOHS (Option->OpCode) == HTTP_BOOT_DHCP6_OPT_VENDOR_CLASS) { + } else if (NTOHS (Option->OpCode) == DHCP6_OPT_VENDOR_CLASS) { Options[HTTP_BOOT_DHCP6_IDX_VENDOR_CLASS] = Option; - } else if (NTOHS (Option->OpCode) == HTTP_BOOT_DHCP6_OPT_DNS_SERVERS) { + } else if (NTOHS (Option->OpCode) == DHCP6_OPT_DNS_SERVERS) { Options[HTTP_BOOT_DHCP6_IDX_DNS_SERVER] = Option; } @@ -238,7 +238,7 @@ HttpBootParseDhcp6Packet ( Option = HttpBootParseDhcp6Options ( Option->Data + 12, NTOHS (Option->OpLen), - HTTP_BOOT_DHCP6_OPT_STATUS_CODE + DHCP6_OPT_STATUS_CODE ); if ((Option != NULL && Option->Data[0] == 0) || (Option == NULL)) { IsProxyOffer = FALSE; diff --git a/NetworkPkg/HttpBootDxe/HttpBootDhcp6.h b/NetworkPkg/HttpBootDxe/HttpBootDhcp6.h index 59ca19e464..f9eec9d7d3 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootDhcp6.h +++ b/NetworkPkg/HttpBootDxe/HttpBootDhcp6.h @@ -1,7 +1,7 @@ /** @file Functions declaration related with DHCPv6 for HTTP boot driver. -Copyright (c) 2015, Intel Corporation. All rights reserved.
+Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at @@ -24,31 +24,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define HTTP_BOOT_DEFAULT_HOPLIMIT 64 #define HTTP_BOOT_DEFAULT_LIFETIME 50000 - -#define HTTP_BOOT_DHCP6_OPT_CLIENT_ID 1 -#define HTTP_BOOT_DHCP6_OPT_SERVER_ID 2 -#define HTTP_BOOT_DHCP6_OPT_IA_NA 3 -#define HTTP_BOOT_DHCP6_OPT_IA_TA 4 -#define HTTP_BOOT_DHCP6_OPT_IAADDR 5 -#define HTTP_BOOT_DHCP6_OPT_ORO 6 -#define HTTP_BOOT_DHCP6_OPT_PREFERENCE 7 -#define HTTP_BOOT_DHCP6_OPT_ELAPSED_TIME 8 -#define HTTP_BOOT_DHCP6_OPT_REPLAY_MSG 9 -#define HTTP_BOOT_DHCP6_OPT_AUTH 11 -#define HTTP_BOOT_DHCP6_OPT_UNICAST 12 -#define HTTP_BOOT_DHCP6_OPT_STATUS_CODE 13 -#define HTTP_BOOT_DHCP6_OPT_RAPID_COMMIT 14 -#define HTTP_BOOT_DHCP6_OPT_USER_CLASS 15 -#define HTTP_BOOT_DHCP6_OPT_VENDOR_CLASS 16 -#define HTTP_BOOT_DHCP6_OPT_VENDOR_OPTS 17 -#define HTTP_BOOT_DHCP6_OPT_INTERFACE_ID 18 -#define HTTP_BOOT_DHCP6_OPT_RECONFIG_MSG 19 -#define HTTP_BOOT_DHCP6_OPT_RECONFIG_ACCEPT 20 -#define HTTP_BOOT_DHCP6_OPT_DNS_SERVERS 23 -#define HTTP_BOOT_DHCP6_OPT_BOOT_FILE_URL 59 // Assigned by IANA, RFC 5970 -#define HTTP_BOOT_DHCP6_OPT_BOOT_FILE_PARAM 60 // Assigned by IANA, RFC 5970 -#define HTTP_BOOT_DHCP6_OPT_ARCH 61 // Assigned by IANA, RFC 5970 -#define HTTP_BOOT_DHCP6_OPT_UNDI 62 // Assigned by IANA, RFC 5970 #define HTTP_BOOT_DHCP6_ENTERPRISE_NUM 343 // TODO: IANA TBD: temporarily using Intel's #define HTTP_BOOT_DHCP6_MAX_BOOT_FILE_SIZE 65535 // It's a limitation of bit length, 65535*512 bytes. diff --git a/NetworkPkg/HttpBootDxe/HttpBootDxe.h b/NetworkPkg/HttpBootDxe/HttpBootDxe.h index 806429cad1..7e8cd9d4f3 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootDxe.h +++ b/NetworkPkg/HttpBootDxe/HttpBootDxe.h @@ -19,6 +19,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include +#include // // Libraries diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp.c b/NetworkPkg/IScsiDxe/IScsiDhcp.c index fa2412ebd8..0e42805c03 100644 --- a/NetworkPkg/IScsiDxe/IScsiDhcp.c +++ b/NetworkPkg/IScsiDxe/IScsiDhcp.c @@ -1,7 +1,7 @@ /** @file iSCSI DHCP4 related configuration routines. -Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
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 @@ -240,7 +240,7 @@ IScsiDhcpSelectOffer ( } for (Index = 0; Index < OptionCount; Index++) { - if (OptionList[Index]->OpCode != DHCP4_TAG_ROOT_PATH) { + if (OptionList[Index]->OpCode != DHCP4_TAG_ROOTPATH) { continue; } @@ -326,7 +326,7 @@ IScsiParseDhcpAck ( // // Get DNS server addresses and DHCP server address from this offer. // - if (OptionList[Index]->OpCode == DHCP4_TAG_DNS) { + if (OptionList[Index]->OpCode == DHCP4_TAG_DNS_SERVER) { if (((OptionList[Index]->Length & 0x3) != 0) || (OptionList[Index]->Length == 0)) { Status = EFI_INVALID_PARAMETER; @@ -440,8 +440,8 @@ IScsiDoDhcp ( ParaList->Length = (UINT8) (NvData->TargetInfoFromDhcp ? 4 : 3); ParaList->Data[0] = DHCP4_TAG_NETMASK; ParaList->Data[1] = DHCP4_TAG_ROUTER; - ParaList->Data[2] = DHCP4_TAG_DNS; - ParaList->Data[3] = DHCP4_TAG_ROOT_PATH; + ParaList->Data[2] = DHCP4_TAG_DNS_SERVER; + ParaList->Data[3] = DHCP4_TAG_ROOTPATH; ZeroMem (&Dhcp4ConfigData, sizeof (EFI_DHCP4_CONFIG_DATA)); Dhcp4ConfigData.OptionCount = 1; diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp.h b/NetworkPkg/IScsiDxe/IScsiDhcp.h index 3165100099..7d55ec99ec 100644 --- a/NetworkPkg/IScsiDxe/IScsiDhcp.h +++ b/NetworkPkg/IScsiDxe/IScsiDhcp.h @@ -1,7 +1,7 @@ /** @file The head file of iSCSI DHCP4 related configuration routines. -Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
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 @@ -15,13 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #ifndef _ISCSI_DHCP_H_ #define _ISCSI_DHCP_H_ - -#define DHCP4_TAG_PARA_LIST 55 -#define DHCP4_TAG_NETMASK 1 -#define DHCP4_TAG_ROUTER 3 -#define DHCP4_TAG_DNS 6 -#define DHCP4_TAG_SERVER_ID 54 -#define DHCP4_TAG_ROOT_PATH 17 #define ISCSI_ROOT_PATH_ID "iscsi:" #define ISCSI_ROOT_PATH_FIELD_DELIMITER ':' diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp6.c b/NetworkPkg/IScsiDxe/IScsiDhcp6.c index 331b0f161b..0cd0bd8803 100644 --- a/NetworkPkg/IScsiDxe/IScsiDhcp6.c +++ b/NetworkPkg/IScsiDxe/IScsiDhcp6.c @@ -1,7 +1,7 @@ /** @file iSCSI DHCP6 related configuration routines. -Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
+Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
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 @@ -303,7 +303,7 @@ IScsiDhcp6ParseReply ( // The server sends this option to inform the client about an URL to a boot file. // BootFileOpt = OptionList[Index]; - } else if (OptionList[Index]->OpCode == DHCP6_OPT_BOOT_FILE_PARA) { + } else if (OptionList[Index]->OpCode == DHCP6_OPT_BOOT_FILE_PARAM) { // // The server sends this option to inform the client about DHCP6 server address. // @@ -434,11 +434,11 @@ IScsiDoDhcp6 ( // Ask the server to reply with DNS and Boot File URL options by info request. // All members in EFI_DHCP6_PACKET_OPTION are in network order. // - Oro->OpCode = HTONS (DHCP6_OPT_REQUEST_OPTION); + Oro->OpCode = HTONS (DHCP6_OPT_ORO); Oro->OpLen = HTONS (2 * 3); Oro->Data[1] = DHCP6_OPT_DNS_SERVERS; Oro->Data[3] = DHCP6_OPT_BOOT_FILE_URL; - Oro->Data[5] = DHCP6_OPT_BOOT_FILE_PARA; + Oro->Data[5] = DHCP6_OPT_BOOT_FILE_PARAM; InfoReqReXmit.Irt = 4; InfoReqReXmit.Mrc = 1; diff --git a/NetworkPkg/IScsiDxe/IScsiDhcp6.h b/NetworkPkg/IScsiDxe/IScsiDhcp6.h index 4ca25bd494..1d59d10626 100644 --- a/NetworkPkg/IScsiDxe/IScsiDhcp6.h +++ b/NetworkPkg/IScsiDxe/IScsiDhcp6.h @@ -1,7 +1,7 @@ /** @file The header file of iSCSI DHCP6 related configuration routines. -Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
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 @@ -15,15 +15,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #ifndef _ISCSI_DHCP6_H_ #define _ISCSI_DHCP6_H_ -#define DHCP6_OPT_REQUEST_OPTION 6 -#define DHCP6_OPT_VENDOR_INFO 17 -#define DHCP6_OPT_DNS_SERVERS 23 -/// -/// Assigned by IANA, RFC 5970 -/// -#define DHCP6_OPT_BOOT_FILE_URL 59 -#define DHCP6_OPT_BOOT_FILE_PARA 60 - #define ISCSI_ROOT_PATH_ID "iscsi:" #define ISCSI_ROOT_PATH_FIELD_DELIMITER ':' #define ISCSI_ROOT_PATH_ADDR_START_DELIMITER '[' diff --git a/NetworkPkg/IScsiDxe/IScsiImpl.h b/NetworkPkg/IScsiDxe/IScsiImpl.h index 9941b8c3ea..af468719c5 100644 --- a/NetworkPkg/IScsiDxe/IScsiImpl.h +++ b/NetworkPkg/IScsiDxe/IScsiImpl.h @@ -1,7 +1,7 @@ /** @file The shared head file for iSCSI driver. -Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
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 @@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include +#include + #include #include #include diff --git a/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.c b/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.c index 62a8ae298c..54522f9a73 100644 --- a/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.c +++ b/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.c @@ -219,9 +219,9 @@ Ip6ConfigStartStatefulAutoConfig ( // with DNS SERVERS. // Oro = (EFI_DHCP6_PACKET_OPTION *) OptBuf; - Oro->OpCode = HTONS (IP6_CONFIG_DHCP6_OPTION_ORO); + Oro->OpCode = HTONS (DHCP6_OPT_ORO); Oro->OpLen = HTONS (2); - *((UINT16 *) &Oro->Data[0]) = HTONS (IP6_CONFIG_DHCP6_OPTION_DNS_SERVERS); + *((UINT16 *) &Oro->Data[0]) = HTONS (DHCP6_OPT_DNS_SERVERS); OptList[0] = Oro; Status = EFI_SUCCESS; @@ -1508,7 +1508,7 @@ Ip6ConfigParseDhcpReply ( CopyMem (&OpCode, &OptList[Index]->OpCode, sizeof (OpCode)); OpCode = NTOHS (OpCode); - if (OpCode == IP6_CONFIG_DHCP6_OPTION_DNS_SERVERS) { + if (OpCode == DHCP6_OPT_DNS_SERVERS) { CopyMem (&Length, &OptList[Index]->OpLen, sizeof (Length)); Length = NTOHS (Length); diff --git a/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.h b/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.h index 2f0e4467d1..3a6e8ad4d1 100644 --- a/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.h +++ b/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.h @@ -21,8 +21,6 @@ #define IP6_CONFIG_VARIABLE_ATTRIBUTE (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS) #define IP6_CONFIG_DEFAULT_DAD_XMITS 1 -#define IP6_CONFIG_DHCP6_OPTION_ORO 6 -#define IP6_CONFIG_DHCP6_OPTION_DNS_SERVERS 23 #define DATA_ATTRIB_SIZE_FIXED 0x1 #define DATA_ATTRIB_VOLATILE 0x2 diff --git a/NetworkPkg/Ip6Dxe/Ip6Impl.h b/NetworkPkg/Ip6Dxe/Ip6Impl.h index d30246b2db..9960a9a711 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Impl.h +++ b/NetworkPkg/Ip6Dxe/Ip6Impl.h @@ -1,7 +1,7 @@ /** @file Implementation of EFI_IP6_PROTOCOL protocol interfaces and type definitions. - Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.
This program and the accompanying materials @@ -19,6 +19,8 @@ #include +#include + #include #include #include diff --git a/NetworkPkg/Ip6Dxe/Ip6Nd.c b/NetworkPkg/Ip6Dxe/Ip6Nd.c index be3dd911b6..a3f49bb2da 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Nd.c +++ b/NetworkPkg/Ip6Dxe/Ip6Nd.c @@ -853,9 +853,9 @@ Ip6OnDADFinished ( // with DNS SERVERS. // Oro = (EFI_DHCP6_PACKET_OPTION *) OptBuf; - Oro->OpCode = HTONS (IP6_CONFIG_DHCP6_OPTION_ORO); + Oro->OpCode = HTONS (DHCP6_OPT_ORO); Oro->OpLen = HTONS (2); - *((UINT16 *) &Oro->Data[0]) = HTONS (IP6_CONFIG_DHCP6_OPTION_DNS_SERVERS); + *((UINT16 *) &Oro->Data[0]) = HTONS (DHCP6_OPT_DNS_SERVERS); InfoReqReXmit.Irt = 4; InfoReqReXmit.Mrc = 64; diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c index 818586f955..6566afd6af 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c @@ -19,13 +19,13 @@ // This is a map from the interested DHCP4 option tags' index to the tag value. // UINT8 mInterestedDhcp4Tags[PXEBC_DHCP4_TAG_INDEX_MAX] = { - PXEBC_DHCP4_TAG_BOOTFILE_LEN, - PXEBC_DHCP4_TAG_VENDOR, - PXEBC_DHCP4_TAG_OVERLOAD, - PXEBC_DHCP4_TAG_MSG_TYPE, - PXEBC_DHCP4_TAG_SERVER_ID, - PXEBC_DHCP4_TAG_CLASS_ID, - PXEBC_DHCP4_TAG_BOOTFILE + DHCP4_TAG_BOOTFILE_LEN, + DHCP4_TAG_VENDOR, + DHCP4_TAG_OVERLOAD, + DHCP4_TAG_MSG_TYPE, + DHCP4_TAG_SERVER_ID, + DHCP4_TAG_VENDOR_CLASS_ID, + DHCP4_TAG_BOOTFILE }; // @@ -58,7 +58,7 @@ PxeBcParseDhcp4Options ( Option = (EFI_DHCP4_PACKET_OPTION *) Buffer; Offset = 0; - while (Offset < Length && Option->OpCode != PXEBC_DHCP4_TAG_EOP) { + while (Offset < Length && Option->OpCode != DHCP4_TAG_EOP) { if (Option->OpCode == OptTag) { // @@ -70,7 +70,7 @@ PxeBcParseDhcp4Options ( // // Skip the current option to the next. // - if (Option->OpCode == PXEBC_DHCP4_TAG_PAD) { + if (Option->OpCode == DHCP4_TAG_PAD) { Offset++; } else { Offset += Option->Length + 2; @@ -108,7 +108,7 @@ PxeBcParseVendorOptions ( ASSERT (PxeOption != NULL); - while ((Offset < VendorOptionLen) && (PxeOption->OpCode != PXEBC_DHCP4_TAG_EOP)) { + while ((Offset < VendorOptionLen) && (PxeOption->OpCode != DHCP4_TAG_EOP)) { // // Parse all the interesting PXE vendor options one by one. // @@ -201,7 +201,7 @@ PxeBcParseVendorOptions ( // // Continue to the next option. // - if (PxeOption->OpCode == PXEBC_DHCP4_TAG_PAD) { + if (PxeOption->OpCode == DHCP4_TAG_PAD) { Offset++; } else { Offset = (UINT8) (Offset + PxeOption->Length + 2); @@ -243,7 +243,7 @@ PxeBcBuildDhcp4Options ( // // Append message type. // - OptList[Index]->OpCode = PXEBC_DHCP4_TAG_MSG_TYPE; + OptList[Index]->OpCode = DHCP4_TAG_MSG_TYPE; OptList[Index]->Length = 1; OptEnt.Mesg = (PXEBC_DHCP4_OPTION_MESG *) OptList[Index]->Data; OptEnt.Mesg->Type = PXEBC_DHCP4_MSG_TYPE_REQUEST; @@ -253,7 +253,7 @@ PxeBcBuildDhcp4Options ( // // Append max message size. // - OptList[Index]->OpCode = PXEBC_DHCP4_TAG_MAXMSG; + OptList[Index]->OpCode = DHCP4_TAG_MAXMSG; OptList[Index]->Length = (UINT8) sizeof (PXEBC_DHCP4_OPTION_MAX_MESG_SIZE); OptEnt.MaxMesgSize = (PXEBC_DHCP4_OPTION_MAX_MESG_SIZE *) OptList[Index]->Data; Value = NTOHS (PXEBC_DHCP4_PACKET_MAX_SIZE - 8); @@ -265,36 +265,36 @@ PxeBcBuildDhcp4Options ( // // Append parameter request list option. // - OptList[Index]->OpCode = PXEBC_DHCP4_TAG_PARA_LIST; + OptList[Index]->OpCode = DHCP4_TAG_PARA_LIST; OptList[Index]->Length = 35; OptEnt.Para = (PXEBC_DHCP4_OPTION_PARA *) OptList[Index]->Data; - OptEnt.Para->ParaList[0] = PXEBC_DHCP4_TAG_NETMASK; - OptEnt.Para->ParaList[1] = PXEBC_DHCP4_TAG_TIME_OFFSET; - OptEnt.Para->ParaList[2] = PXEBC_DHCP4_TAG_ROUTER; - OptEnt.Para->ParaList[3] = PXEBC_DHCP4_TAG_TIME_SERVER; - OptEnt.Para->ParaList[4] = PXEBC_DHCP4_TAG_NAME_SERVER; - OptEnt.Para->ParaList[5] = PXEBC_DHCP4_TAG_DNS_SERVER; - OptEnt.Para->ParaList[6] = PXEBC_DHCP4_TAG_HOSTNAME; - OptEnt.Para->ParaList[7] = PXEBC_DHCP4_TAG_BOOTFILE_LEN; - OptEnt.Para->ParaList[8] = PXEBC_DHCP4_TAG_DOMAINNAME; - OptEnt.Para->ParaList[9] = PXEBC_DHCP4_TAG_ROOTPATH; - OptEnt.Para->ParaList[10] = PXEBC_DHCP4_TAG_EXTEND_PATH; - OptEnt.Para->ParaList[11] = PXEBC_DHCP4_TAG_EMTU; - OptEnt.Para->ParaList[12] = PXEBC_DHCP4_TAG_TTL; - OptEnt.Para->ParaList[13] = PXEBC_DHCP4_TAG_BROADCAST; - OptEnt.Para->ParaList[14] = PXEBC_DHCP4_TAG_NIS_DOMAIN; - OptEnt.Para->ParaList[15] = PXEBC_DHCP4_TAG_NIS_SERVER; - OptEnt.Para->ParaList[16] = PXEBC_DHCP4_TAG_NTP_SERVER; - OptEnt.Para->ParaList[17] = PXEBC_DHCP4_TAG_VENDOR; - OptEnt.Para->ParaList[18] = PXEBC_DHCP4_TAG_REQUEST_IP; - OptEnt.Para->ParaList[19] = PXEBC_DHCP4_TAG_LEASE; - OptEnt.Para->ParaList[20] = PXEBC_DHCP4_TAG_SERVER_ID; - OptEnt.Para->ParaList[21] = PXEBC_DHCP4_TAG_T1; - OptEnt.Para->ParaList[22] = PXEBC_DHCP4_TAG_T2; - OptEnt.Para->ParaList[23] = PXEBC_DHCP4_TAG_CLASS_ID; - OptEnt.Para->ParaList[24] = PXEBC_DHCP4_TAG_TFTP; - OptEnt.Para->ParaList[25] = PXEBC_DHCP4_TAG_BOOTFILE; - OptEnt.Para->ParaList[26] = PXEBC_PXE_DHCP4_TAG_UUID; + OptEnt.Para->ParaList[0] = DHCP4_TAG_NETMASK; + OptEnt.Para->ParaList[1] = DHCP4_TAG_TIME_OFFSET; + OptEnt.Para->ParaList[2] = DHCP4_TAG_ROUTER; + OptEnt.Para->ParaList[3] = DHCP4_TAG_TIME_SERVER; + OptEnt.Para->ParaList[4] = DHCP4_TAG_NAME_SERVER; + OptEnt.Para->ParaList[5] = DHCP4_TAG_DNS_SERVER; + OptEnt.Para->ParaList[6] = DHCP4_TAG_HOSTNAME; + OptEnt.Para->ParaList[7] = DHCP4_TAG_BOOTFILE_LEN; + OptEnt.Para->ParaList[8] = DHCP4_TAG_DOMAINNAME; + OptEnt.Para->ParaList[9] = DHCP4_TAG_ROOTPATH; + OptEnt.Para->ParaList[10] = DHCP4_TAG_EXTEND_PATH; + OptEnt.Para->ParaList[11] = DHCP4_TAG_EMTU; + OptEnt.Para->ParaList[12] = DHCP4_TAG_TTL; + OptEnt.Para->ParaList[13] = DHCP4_TAG_BROADCAST; + OptEnt.Para->ParaList[14] = DHCP4_TAG_NIS_DOMAIN; + OptEnt.Para->ParaList[15] = DHCP4_TAG_NIS_SERVER; + OptEnt.Para->ParaList[16] = DHCP4_TAG_NTP_SERVER; + OptEnt.Para->ParaList[17] = DHCP4_TAG_VENDOR; + OptEnt.Para->ParaList[18] = DHCP4_TAG_REQUEST_IP; + OptEnt.Para->ParaList[19] = DHCP4_TAG_LEASE; + OptEnt.Para->ParaList[20] = DHCP4_TAG_SERVER_ID; + OptEnt.Para->ParaList[21] = DHCP4_TAG_T1; + OptEnt.Para->ParaList[22] = DHCP4_TAG_T2; + OptEnt.Para->ParaList[23] = DHCP4_TAG_VENDOR_CLASS_ID; + OptEnt.Para->ParaList[24] = DHCP4_TAG_TFTP; + OptEnt.Para->ParaList[25] = DHCP4_TAG_BOOTFILE; + OptEnt.Para->ParaList[26] = DHCP4_TAG_UUID; OptEnt.Para->ParaList[27] = 0x80; OptEnt.Para->ParaList[28] = 0x81; OptEnt.Para->ParaList[29] = 0x82; @@ -309,7 +309,7 @@ PxeBcBuildDhcp4Options ( // // Append UUID/Guid-based client identifier option // - OptList[Index]->OpCode = PXEBC_PXE_DHCP4_TAG_UUID; + OptList[Index]->OpCode = DHCP4_TAG_UUID; OptList[Index]->Length = (UINT8) sizeof (PXEBC_DHCP4_OPTION_UUID); OptEnt.Uuid = (PXEBC_DHCP4_OPTION_UUID *) OptList[Index]->Data; OptEnt.Uuid->Type = 0; @@ -326,7 +326,7 @@ PxeBcBuildDhcp4Options ( // // Append client network device interface option // - OptList[Index]->OpCode = PXEBC_PXE_DHCP4_TAG_UNDI; + OptList[Index]->OpCode = DHCP4_TAG_UNDI; OptList[Index]->Length = (UINT8) sizeof (PXEBC_DHCP4_OPTION_UNDI); OptEnt.Undi = (PXEBC_DHCP4_OPTION_UNDI *) OptList[Index]->Data; @@ -346,7 +346,7 @@ PxeBcBuildDhcp4Options ( // // Append client system architecture option // - OptList[Index]->OpCode = PXEBC_PXE_DHCP4_TAG_ARCH; + OptList[Index]->OpCode = DHCP4_TAG_ARCH; OptList[Index]->Length = (UINT8) sizeof (PXEBC_DHCP4_OPTION_ARCH); OptEnt.Arch = (PXEBC_DHCP4_OPTION_ARCH *) OptList[Index]->Data; Value = HTONS (EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE); @@ -357,7 +357,7 @@ PxeBcBuildDhcp4Options ( // // Append vendor class identify option // - OptList[Index]->OpCode = PXEBC_DHCP4_TAG_CLASS_ID; + OptList[Index]->OpCode = DHCP4_TAG_VENDOR_CLASS_ID; OptList[Index]->Length = (UINT8) sizeof (PXEBC_DHCP4_OPTION_CLID); OptEnt.Clid = (PXEBC_DHCP4_OPTION_CLID *) OptList[Index]->Data; CopyMem ( @@ -414,7 +414,7 @@ PxeBcSeedDhcp4Packet ( CopyMem (Header->ClientHwAddr, &Mode.CurrentAddress, Header->HwAddrLen); Seed->Dhcp4.Magik = PXEBC_DHCP4_MAGIC; - Seed->Dhcp4.Option[0] = PXEBC_DHCP4_TAG_EOP; + Seed->Dhcp4.Option[0] = DHCP4_TAG_EOP; } @@ -1180,7 +1180,7 @@ PxeBcDhcp4CallBack ( MaxMsgSize = PxeBcParseDhcp4Options ( Packet->Dhcp4.Option, GET_OPTION_BUFFER_LEN (Packet), - PXEBC_DHCP4_TAG_MAXMSG + DHCP4_TAG_MAXMSG ); if (MaxMsgSize != NULL) { Value = HTONS (PXEBC_DHCP4_PACKET_MAX_SIZE - 8); @@ -1356,14 +1356,14 @@ PxeBcDhcp4Discover ( return EFI_OUT_OF_RESOURCES; } - OptList[OptCount]->OpCode = PXEBC_DHCP4_TAG_VENDOR; + OptList[OptCount]->OpCode = DHCP4_TAG_VENDOR; OptList[OptCount]->Length = (UINT8) (VendorOptLen - 2); PxeOpt = (EFI_DHCP4_PACKET_OPTION *) OptList[OptCount]->Data; PxeOpt->OpCode = PXEBC_VENDOR_TAG_BOOT_ITEM; PxeOpt->Length = (UINT8) sizeof (PXEBC_OPTION_BOOT_ITEM); PxeBootItem = (PXEBC_OPTION_BOOT_ITEM *) PxeOpt->Data; PxeBootItem->Type = HTONS (Type); - PxeOpt->Data[PxeOpt->Length] = PXEBC_DHCP4_TAG_EOP; + PxeOpt->Data[PxeOpt->Length] = DHCP4_TAG_EOP; if (Layer != NULL) { PxeBootItem->Layer = HTONS (*Layer); diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h index 248dc60d2c..3aabaed088 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h @@ -1,7 +1,7 @@ /** @file Functions declaration related with DHCPv4 for UefiPxeBc Driver. - Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -28,46 +28,6 @@ #define PXEBC_DHCP4_MSG_TYPE_REQUEST 3 #define PXEBC_DHCP4_MAGIC 0x63538263 // network byte order -// -// Dhcp Options -// -#define PXEBC_DHCP4_TAG_PAD 0 // Pad Option -#define PXEBC_DHCP4_TAG_EOP 255 // End Option -#define PXEBC_DHCP4_TAG_NETMASK 1 // Subnet Mask -#define PXEBC_DHCP4_TAG_TIME_OFFSET 2 // Time Offset from UTC -#define PXEBC_DHCP4_TAG_ROUTER 3 // Router option, -#define PXEBC_DHCP4_TAG_TIME_SERVER 4 // Time Server -#define PXEBC_DHCP4_TAG_NAME_SERVER 5 // Name Server -#define PXEBC_DHCP4_TAG_DNS_SERVER 6 // Domain Name Server -#define PXEBC_DHCP4_TAG_HOSTNAME 12 // Host Name -#define PXEBC_DHCP4_TAG_BOOTFILE_LEN 13 // Boot File Size -#define PXEBC_DHCP4_TAG_DUMP 14 // Merit Dump File -#define PXEBC_DHCP4_TAG_DOMAINNAME 15 // Domain Name -#define PXEBC_DHCP4_TAG_ROOTPATH 17 // Root path -#define PXEBC_DHCP4_TAG_EXTEND_PATH 18 // Extensions Path -#define PXEBC_DHCP4_TAG_EMTU 22 // Maximum Datagram Reassembly Size -#define PXEBC_DHCP4_TAG_TTL 23 // Default IP Time-to-live -#define PXEBC_DHCP4_TAG_BROADCAST 28 // Broadcast Address -#define PXEBC_DHCP4_TAG_NIS_DOMAIN 40 // Network Information Service Domain -#define PXEBC_DHCP4_TAG_NIS_SERVER 41 // Network Information Servers -#define PXEBC_DHCP4_TAG_NTP_SERVER 42 // Network Time Protocol Servers -#define PXEBC_DHCP4_TAG_VENDOR 43 // Vendor Specific Information -#define PXEBC_DHCP4_TAG_REQUEST_IP 50 // Requested IP Address -#define PXEBC_DHCP4_TAG_LEASE 51 // IP Address Lease Time -#define PXEBC_DHCP4_TAG_OVERLOAD 52 // Option Overload -#define PXEBC_DHCP4_TAG_MSG_TYPE 53 // DHCP Message Type -#define PXEBC_DHCP4_TAG_SERVER_ID 54 // Server Identifier -#define PXEBC_DHCP4_TAG_PARA_LIST 55 // Parameter Request List -#define PXEBC_DHCP4_TAG_MAXMSG 57 // Maximum DHCP Message Size -#define PXEBC_DHCP4_TAG_T1 58 // Renewal (T1) Time Value -#define PXEBC_DHCP4_TAG_T2 59 // Rebinding (T2) Time Value -#define PXEBC_DHCP4_TAG_CLASS_ID 60 // Vendor class identifier -#define PXEBC_DHCP4_TAG_CLIENT_ID 61 // Client-identifier -#define PXEBC_DHCP4_TAG_TFTP 66 // TFTP server name -#define PXEBC_DHCP4_TAG_BOOTFILE 67 // Bootfile name -#define PXEBC_PXE_DHCP4_TAG_ARCH 93 -#define PXEBC_PXE_DHCP4_TAG_UNDI 94 -#define PXEBC_PXE_DHCP4_TAG_UUID 97 // // Sub-Options in Dhcp Vendor Option // diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c index 8003f31491..41d3d30a12 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c @@ -92,18 +92,18 @@ PxeBcBuildDhcp6Options ( // // Append client option request option // - OptList[Index]->OpCode = HTONS (PXEBC_DHCP6_OPT_ORO); + OptList[Index]->OpCode = HTONS (DHCP6_OPT_ORO); OptList[Index]->OpLen = HTONS (4); OptEnt.Oro = (PXEBC_DHCP6_OPTION_ORO *) OptList[Index]->Data; - OptEnt.Oro->OpCode[0] = HTONS(PXEBC_DHCP6_OPT_BOOT_FILE_URL); - OptEnt.Oro->OpCode[1] = HTONS(PXEBC_DHCP6_OPT_BOOT_FILE_PARAM); + OptEnt.Oro->OpCode[0] = HTONS(DHCP6_OPT_BOOT_FILE_URL); + OptEnt.Oro->OpCode[1] = HTONS(DHCP6_OPT_BOOT_FILE_PARAM); Index++; OptList[Index] = GET_NEXT_DHCP6_OPTION (OptList[Index - 1]); // // Append client network device interface option // - OptList[Index]->OpCode = HTONS (PXEBC_DHCP6_OPT_UNDI); + OptList[Index]->OpCode = HTONS (DHCP6_OPT_UNDI); OptList[Index]->OpLen = HTONS ((UINT16)3); OptEnt.Undi = (PXEBC_DHCP6_OPTION_UNDI *) OptList[Index]->Data; @@ -123,7 +123,7 @@ PxeBcBuildDhcp6Options ( // // Append client system architecture option // - OptList[Index]->OpCode = HTONS (PXEBC_DHCP6_OPT_ARCH); + OptList[Index]->OpCode = HTONS (DHCP6_OPT_ARCH); OptList[Index]->OpLen = HTONS ((UINT16) sizeof (PXEBC_DHCP6_OPTION_ARCH)); OptEnt.Arch = (PXEBC_DHCP6_OPTION_ARCH *) OptList[Index]->Data; Value = HTONS (EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE); @@ -134,7 +134,7 @@ PxeBcBuildDhcp6Options ( // // Append vendor class option to store the PXE class identifier. // - OptList[Index]->OpCode = HTONS (PXEBC_DHCP6_OPT_VENDOR_CLASS); + OptList[Index]->OpCode = HTONS (DHCP6_OPT_VENDOR_CLASS); OptList[Index]->OpLen = HTONS ((UINT16) sizeof (PXEBC_DHCP6_OPTION_VENDOR_CLASS)); OptEnt.VendorClass = (PXEBC_DHCP6_OPTION_VENDOR_CLASS *) OptList[Index]->Data; OptEnt.VendorClass->Vendor = HTONL (PXEBC_DHCP6_ENTERPRISE_NUM); @@ -471,16 +471,16 @@ PxeBcParseDhcp6Packet ( // while (Offset < Length) { - if (NTOHS (Option->OpCode) == PXEBC_DHCP6_OPT_IA_NA) { + if (NTOHS (Option->OpCode) == DHCP6_OPT_IA_NA) { Options[PXEBC_DHCP6_IDX_IA_NA] = Option; - } else if (NTOHS (Option->OpCode) == PXEBC_DHCP6_OPT_BOOT_FILE_URL) { + } else if (NTOHS (Option->OpCode) == DHCP6_OPT_BOOT_FILE_URL) { // // The server sends this option to inform the client about an URL to a boot file. // Options[PXEBC_DHCP6_IDX_BOOT_FILE_URL] = Option; - } else if (NTOHS (Option->OpCode) == PXEBC_DHCP6_OPT_BOOT_FILE_PARAM) { + } else if (NTOHS (Option->OpCode) == DHCP6_OPT_BOOT_FILE_PARAM) { Options[PXEBC_DHCP6_IDX_BOOT_FILE_PARAM] = Option; - } else if (NTOHS (Option->OpCode) == PXEBC_DHCP6_OPT_VENDOR_CLASS) { + } else if (NTOHS (Option->OpCode) == DHCP6_OPT_VENDOR_CLASS) { Options[PXEBC_DHCP6_IDX_VENDOR_CLASS] = Option; } @@ -497,7 +497,7 @@ PxeBcParseDhcp6Packet ( Option = PxeBcParseDhcp6Options ( Option->Data + 12, NTOHS (Option->OpLen), - PXEBC_DHCP6_OPT_STATUS_CODE + DHCP6_OPT_STATUS_CODE ); if ((Option != NULL && Option->Data[0] == 0) || (Option == NULL)) { IsProxyOffer = FALSE; @@ -713,7 +713,7 @@ PxeBcRequestBootService ( Option = PxeBcDhcp6SeekOption ( ProxyOffer->Dhcp6.Option, ProxyOffer->Length - 4, - PXEBC_DHCP6_OPT_SERVER_ID + DHCP6_OPT_SERVER_ID ); if (Option == NULL) { return EFI_NOT_FOUND; @@ -732,7 +732,7 @@ PxeBcRequestBootService ( OpLen = NTOHS (((EFI_DHCP6_PACKET_OPTION *) RequestOpt)->OpLen); if (OpCode != EFI_DHCP6_IA_TYPE_NA && OpCode != EFI_DHCP6_IA_TYPE_TA && - OpCode != PXEBC_DHCP6_OPT_SERVER_ID + OpCode != DHCP6_OPT_SERVER_ID ) { // // Copy all the options except IA option and Server ID @@ -751,7 +751,7 @@ PxeBcRequestBootService ( Option = PxeBcDhcp6SeekOption ( Discover->DhcpOptions, (UINT32)(RequestLen - 4), - PXEBC_DHCP6_OPT_ELAPSED_TIME + DHCP6_OPT_ELAPSED_TIME ); if (Option != NULL) { CalcElapsedTime (Private); diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.h b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.h index 38bf26564d..a6d52f972c 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.h +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.h @@ -1,7 +1,7 @@ /** @file Functions declaration related with DHCPv6 for UefiPxeBc Driver. - Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -25,29 +25,6 @@ #define PXEBC_DHCP6_S_PORT 547 #define PXEBC_DHCP6_C_PORT 546 -#define PXEBC_DHCP6_OPT_CLIENT_ID 1 -#define PXEBC_DHCP6_OPT_SERVER_ID 2 -#define PXEBC_DHCP6_OPT_IA_NA 3 -#define PXEBC_DHCP6_OPT_IA_TA 4 -#define PXEBC_DHCP6_OPT_IAADDR 5 -#define PXEBC_DHCP6_OPT_ORO 6 -#define PXEBC_DHCP6_OPT_PREFERENCE 7 -#define PXEBC_DHCP6_OPT_ELAPSED_TIME 8 -#define PXEBC_DHCP6_OPT_REPLAY_MSG 9 -#define PXEBC_DHCP6_OPT_AUTH 11 -#define PXEBC_DHCP6_OPT_UNICAST 12 -#define PXEBC_DHCP6_OPT_STATUS_CODE 13 -#define PXEBC_DHCP6_OPT_RAPID_COMMIT 14 -#define PXEBC_DHCP6_OPT_USER_CLASS 15 -#define PXEBC_DHCP6_OPT_VENDOR_CLASS 16 -#define PXEBC_DHCP6_OPT_VENDOR_OPTS 17 -#define PXEBC_DHCP6_OPT_INTERFACE_ID 18 -#define PXEBC_DHCP6_OPT_RECONFIG_MSG 19 -#define PXEBC_DHCP6_OPT_RECONFIG_ACCEPT 20 -#define PXEBC_DHCP6_OPT_BOOT_FILE_URL 59 // Assigned by IANA, RFC 5970 -#define PXEBC_DHCP6_OPT_BOOT_FILE_PARAM 60 // Assigned by IANA, RFC 5970 -#define PXEBC_DHCP6_OPT_ARCH 61 // Assigned by IANA, RFC 5970 -#define PXEBC_DHCP6_OPT_UNDI 62 // Assigned by IANA, RFC 5970 #define PXEBC_DHCP6_ENTERPRISE_NUM 343 // TODO: IANA TBD: temporarily using Intel's #define PXEBC_DHCP6_MAX_BOOT_FILE_SIZE 65535 // It's a limitation of bit length, 65535*512 bytes. diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h index ac7dc8781a..d0f5e5b5f2 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h @@ -2,7 +2,7 @@ This EFI_PXE_BASE_CODE_PROTOCOL and EFI_LOAD_FILE_PROTOCOL. interfaces declaration. - Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -21,6 +21,7 @@ #include #include +#include #include #include #include