]> git.proxmox.com Git - mirror_edk2.git/blob - NetworkPkg/HttpBootDxe/HttpBootConfig.h
NetworkPkg: Add URI configuration form to HTTP boot driver.
[mirror_edk2.git] / NetworkPkg / HttpBootDxe / HttpBootConfig.h
1 /** @file
2 The header file of functions for configuring or getting the parameters
3 relating to HTTP Boot.
4
5 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef _HTTP_BOOT_CONFIG_H_
17 #define _HTTP_BOOT_CONFIG_H_
18
19
20 #include "HttpBootConfigNVDataStruc.h"
21
22 typedef struct _HTTP_BOOT_FORM_CALLBACK_INFO HTTP_BOOT_FORM_CALLBACK_INFO;
23
24 extern UINT8 HttpBootDxeStrings[];
25 extern UINT8 HttpBootConfigVfrBin[];
26
27 #pragma pack()
28
29 #define HTTP_BOOT_FORM_CALLBACK_INFO_SIGNATURE SIGNATURE_32 ('H', 'B', 'f', 'c')
30
31 #define HTTP_BOOT_FORM_CALLBACK_INFO_FROM_CONFIG_ACCESS(Callback) \
32 CR ( \
33 Callback, \
34 HTTP_BOOT_FORM_CALLBACK_INFO, \
35 ConfigAccess, \
36 HTTP_BOOT_FORM_CALLBACK_INFO_SIGNATURE \
37 )
38
39 struct _HTTP_BOOT_FORM_CALLBACK_INFO {
40 UINT32 Signature;
41 BOOLEAN Initilized;
42 EFI_HANDLE ChildHandle;
43 EFI_DEVICE_PATH_PROTOCOL *HiiVendorDevicePath;
44 EFI_HII_HANDLE RegisteredHandle;
45 EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;
46 HTTP_BOOT_CONFIG_IFR_NVDATA HttpBootNvData;
47 };
48
49 /**
50 Initialize the configuration form.
51
52 @param[in] Private Pointer to the driver private data.
53
54 @retval EFI_SUCCESS The configuration form is initialized.
55 @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
56
57 **/
58 EFI_STATUS
59 HttpBootConfigFormInit (
60 IN HTTP_BOOT_PRIVATE_DATA *Private
61 );
62
63 /**
64 Unload the configuration form, this includes: delete all the configuration
65 entries, uninstall the form callback protocol, and free the resources used.
66
67 @param[in] Private Pointer to the driver private data.
68
69 @retval EFI_SUCCESS The configuration form is unloaded.
70 @retval Others Failed to unload the form.
71
72 **/
73 EFI_STATUS
74 HttpBootConfigFormUnload (
75 IN HTTP_BOOT_PRIVATE_DATA *Private
76 );
77
78 #endif