hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/** @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>
SPDX-License-Identifier: BSD-2-Clause-Patent
 
**/
 
#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                          Initialized;
  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.
  The form will only be unload completely when both IP4 and IP6 stack are stopped.
 
  @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