]> git.proxmox.com Git - mirror_edk2.git/blob - NetworkPkg/HttpBootDxe/HttpBootConfig.h
e610fe8cd9708c625b44575aaf9a991ac0cac958
[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 The form will only be unload completely when both IP4 and IP6 stack are stopped.
67
68 @param[in] Private Pointer to the driver private data.
69
70 @retval EFI_SUCCESS The configuration form is unloaded.
71 @retval Others Failed to unload the form.
72
73 **/
74 EFI_STATUS
75 HttpBootConfigFormUnload (
76 IN HTTP_BOOT_PRIVATE_DATA *Private
77 );
78
79 #endif