VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.c@ 106386

Last change on this file since 106386 was 99404, checked in by vboxsync, 2 years ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1/** @file
2 The DriverEntryPoint for TlsAuthConfigDxe driver.
3
4 Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
5
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8**/
9
10#include "TlsAuthConfigImpl.h"
11
12/**
13 Unloads an image.
14
15 @param ImageHandle Handle that identifies the image to be unloaded.
16
17 @retval EFI_SUCCESS The image has been unloaded.
18 @retval EFI_INVALID_PARAMETER ImageHandle is not a valid image handle.
19
20**/
21EFI_STATUS
22EFIAPI
23TlsAuthConfigDxeUnload (
24 IN EFI_HANDLE ImageHandle
25 )
26{
27 EFI_STATUS Status;
28 TLS_AUTH_CONFIG_PRIVATE_DATA *PrivateData;
29
30 Status = gBS->HandleProtocol (
31 ImageHandle,
32 &gEfiCallerIdGuid,
33 (VOID **)&PrivateData
34 );
35 if (EFI_ERROR (Status)) {
36 return Status;
37 }
38
39 ASSERT (PrivateData->Signature == TLS_AUTH_CONFIG_PRIVATE_DATA_SIGNATURE);
40
41 gBS->UninstallMultipleProtocolInterfaces (
42 ImageHandle,
43 &gEfiCallerIdGuid,
44 PrivateData,
45 NULL
46 );
47
48 TlsAuthConfigFormUnload (PrivateData);
49
50 return EFI_SUCCESS;
51}
52
53/**
54 This is the declaration of an EFI image entry point. This entry point is
55 the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers including
56 both device drivers and bus drivers.
57
58 @param ImageHandle The firmware allocated handle for the UEFI image.
59 @param SystemTable A pointer to the EFI System Table.
60
61 @retval EFI_SUCCESS The operation completed successfully.
62 @retval Others An unexpected error occurred.
63**/
64EFI_STATUS
65EFIAPI
66TlsAuthConfigDxeDriverEntryPoint (
67 IN EFI_HANDLE ImageHandle,
68 IN EFI_SYSTEM_TABLE *SystemTable
69 )
70{
71 EFI_STATUS Status;
72
73 TLS_AUTH_CONFIG_PRIVATE_DATA *PrivateData;
74
75 PrivateData = NULL;
76
77 //
78 // If already started, return.
79 //
80 Status = gBS->OpenProtocol (
81 ImageHandle,
82 &gEfiCallerIdGuid,
83 NULL,
84 ImageHandle,
85 ImageHandle,
86 EFI_OPEN_PROTOCOL_TEST_PROTOCOL
87 );
88 if (!EFI_ERROR (Status)) {
89 return EFI_ALREADY_STARTED;
90 }
91
92 //
93 // Initialize the private data structure.
94 //
95 PrivateData = AllocateZeroPool (sizeof (TLS_AUTH_CONFIG_PRIVATE_DATA));
96 if (PrivateData == NULL) {
97 return EFI_OUT_OF_RESOURCES;
98 }
99
100 //
101 // Initialize the HII configuration form.
102 //
103 Status = TlsAuthConfigFormInit (PrivateData);
104 if (EFI_ERROR (Status)) {
105 goto ON_ERROR;
106 }
107
108 //
109 // Install private GUID.
110 //
111 Status = gBS->InstallMultipleProtocolInterfaces (
112 &ImageHandle,
113 &gEfiCallerIdGuid,
114 PrivateData,
115 NULL
116 );
117 if (EFI_ERROR (Status)) {
118 goto ON_ERROR;
119 }
120
121 return EFI_SUCCESS;
122
123ON_ERROR:
124 TlsAuthConfigFormUnload (PrivateData);
125
126 return Status;
127}
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette