system76-edk2/NetworkPkg/HttpBootDxe/HttpBootConfigNVDataStruc.h
Fu Siyuan a5acc84226 NetworkPkg: Fix HII related problem in HTTP boot driver.
According to UEFI spec, HII_Config_Access.RouteConfig() should return success
if the required configuration has been processed. Current HTTP boot driver
may return error code in some situation, which failed the UEFI SCT test.
This patch fix this issue by removing the returned error status code and adding
extra check point in the Callback() function, which will pop up a message box
if user input an unsupported URI string.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Dong Eric <eric.dong@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
2016-03-24 10:09:47 +08:00

51 lines
1.4 KiB
C

/** @file
Define NVData structures used by the HTTP Boot configuration component.
Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
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
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _HTTP_BOOT_NVDATA_STRUC_H_
#define _HTTP_BOOT_NVDATA_STRUC_H_
#include <Guid/HttpBootConfigHii.h>
#define HTTP_BOOT_IP_VERSION_4 0
#define HTTP_BOOT_IP_VERSION_6 1
//
// Macros used for an IPv4 or an IPv6 address.
//
#define URI_STR_MIN_SIZE 8
#define URI_STR_MAX_SIZE 255
#define DESCRIPTION_STR_MIN_SIZE 6
#define DESCRIPTION_STR_MAX_SIZE 75
#define CONFIGURATION_VARSTORE_ID 0x1234
#define FORMID_MAIN_FORM 1
#define KEY_INITIATOR_URI 0x101
#define HTTP_BOOT_DEFAULT_DESCRIPTION_STR L"UEFI HTTP"
#pragma pack(1)
typedef struct _HTTP_BOOT_CONFIG_IFR_NVDATA {
UINT8 IpVersion;
UINT8 Padding;
CHAR16 Description[DESCRIPTION_STR_MAX_SIZE];
CHAR16 Uri[URI_STR_MAX_SIZE];
} HTTP_BOOT_CONFIG_IFR_NVDATA;
#pragma pack()
#endif