From 9063c328dff827ef9deb1ce0dde75112c496e072 Mon Sep 17 00:00:00 2001 From: sfu5 Date: Fri, 24 Aug 2012 08:25:42 +0000 Subject: Fix bugs in PXE driver when using option 43 for boot server list and boot menu prompt. Signed-off-by: Fu Siyuan Reviewed-by: Ye Ting Reviewed-by: Ouyang Qian git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13676 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h') diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h b/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h index bc21b212a2..37747ac74f 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 - 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2012, 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 @@ -146,6 +146,10 @@ typedef enum { BIT (PXEBC_VENDOR_TAG_BOOT_MENU) | \ BIT (PXEBC_VENDOR_TAG_MENU_PROMPT)) +#define IS_VALID_BOOT_SERVERS(x) \ + ((((x)[0]) & BIT (PXEBC_VENDOR_TAG_BOOT_SERVERS)) \ + == BIT (PXEBC_VENDOR_TAG_BOOT_SERVERS)) + #define IS_VALID_BOOT_PROMPT(x) \ ((((x)[0]) & BIT (PXEBC_VENDOR_TAG_MENU_PROMPT)) \ == BIT (PXEBC_VENDOR_TAG_MENU_PROMPT)) @@ -256,6 +260,7 @@ typedef union { PXEBC_DHCP4_OPTION_MAX_MESG_SIZE *MaxMesgSize; } PXEBC_DHCP4_OPTION_ENTRY; +#pragma pack(1) typedef struct { UINT16 Type; UINT8 IpCnt; @@ -272,6 +277,7 @@ typedef struct { UINT8 Timeout; UINT8 Prompt[1]; } PXEBC_MENU_PROMPT; +#pragma pack() typedef struct { UINT32 BitMap[8]; -- cgit v1.2.3