This patch updates the HTTP boot driver to produce a setup page for the boot file URI configuration. A new boot option will be created for the manual configured URI address. This change is made to support the HTTP boot usage in home environment. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com>
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  The header file of functions for configuring or getting the parameters
 | 
						|
  relating to HTTP Boot.
 | 
						|
 | 
						|
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_CONFIG_H_
 | 
						|
#define _HTTP_BOOT_CONFIG_H_
 | 
						|
 | 
						|
 | 
						|
#include "HttpBootConfigNVDataStruc.h"
 | 
						|
 | 
						|
typedef struct _HTTP_BOOT_FORM_CALLBACK_INFO   HTTP_BOOT_FORM_CALLBACK_INFO;
 | 
						|
 | 
						|
extern   UINT8                            HttpBootDxeStrings[];
 | 
						|
extern   UINT8                            HttpBootConfigVfrBin[];
 | 
						|
 | 
						|
#pragma pack()
 | 
						|
 | 
						|
#define HTTP_BOOT_FORM_CALLBACK_INFO_SIGNATURE  SIGNATURE_32 ('H', 'B', 'f', 'c')
 | 
						|
 | 
						|
#define HTTP_BOOT_FORM_CALLBACK_INFO_FROM_CONFIG_ACCESS(Callback) \
 | 
						|
  CR ( \
 | 
						|
  Callback, \
 | 
						|
  HTTP_BOOT_FORM_CALLBACK_INFO, \
 | 
						|
  ConfigAccess, \
 | 
						|
  HTTP_BOOT_FORM_CALLBACK_INFO_SIGNATURE \
 | 
						|
  )
 | 
						|
 | 
						|
struct _HTTP_BOOT_FORM_CALLBACK_INFO {
 | 
						|
  UINT32                           Signature;
 | 
						|
  BOOLEAN                          Initilized;
 | 
						|
  EFI_HANDLE                       ChildHandle;
 | 
						|
  EFI_DEVICE_PATH_PROTOCOL         *HiiVendorDevicePath;
 | 
						|
  EFI_HII_HANDLE                   RegisteredHandle;
 | 
						|
  EFI_HII_CONFIG_ACCESS_PROTOCOL   ConfigAccess;
 | 
						|
  HTTP_BOOT_CONFIG_IFR_NVDATA      HttpBootNvData;
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
  Initialize the configuration form.
 | 
						|
 | 
						|
  @param[in]  Private             Pointer to the driver private data.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS             The configuration form is initialized.
 | 
						|
  @retval EFI_OUT_OF_RESOURCES    Failed to allocate memory.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
HttpBootConfigFormInit (
 | 
						|
  IN HTTP_BOOT_PRIVATE_DATA     *Private
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Unload the configuration form, this includes: delete all the configuration
 | 
						|
  entries, uninstall the form callback protocol, and free the resources used.
 | 
						|
 | 
						|
  @param[in]  Private             Pointer to the driver private data.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS             The configuration form is unloaded.
 | 
						|
  @retval Others                  Failed to unload the form.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
HttpBootConfigFormUnload (
 | 
						|
  IN HTTP_BOOT_PRIVATE_DATA     *Private
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 |