123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /** @file
- The DriverEntryPoint for TlsAuthConfigDxe driver.
- Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #include "TlsAuthConfigImpl.h"
- /**
- Unloads an image.
- @param ImageHandle Handle that identifies the image to be unloaded.
- @retval EFI_SUCCESS The image has been unloaded.
- @retval EFI_INVALID_PARAMETER ImageHandle is not a valid image handle.
- **/
- EFI_STATUS
- EFIAPI
- TlsAuthConfigDxeUnload (
- IN EFI_HANDLE ImageHandle
- )
- {
- EFI_STATUS Status;
- TLS_AUTH_CONFIG_PRIVATE_DATA *PrivateData;
- Status = gBS->HandleProtocol (
- ImageHandle,
- &gEfiCallerIdGuid,
- (VOID **)&PrivateData
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
- ASSERT (PrivateData->Signature == TLS_AUTH_CONFIG_PRIVATE_DATA_SIGNATURE);
- gBS->UninstallMultipleProtocolInterfaces (
- ImageHandle,
- &gEfiCallerIdGuid,
- PrivateData,
- NULL
- );
- TlsAuthConfigFormUnload (PrivateData);
- return EFI_SUCCESS;
- }
- /**
- This is the declaration of an EFI image entry point. This entry point is
- the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers including
- both device drivers and bus drivers.
- @param ImageHandle The firmware allocated handle for the UEFI image.
- @param SystemTable A pointer to the EFI System Table.
- @retval EFI_SUCCESS The operation completed successfully.
- @retval Others An unexpected error occurred.
- **/
- EFI_STATUS
- EFIAPI
- TlsAuthConfigDxeDriverEntryPoint (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
- {
- EFI_STATUS Status;
- TLS_AUTH_CONFIG_PRIVATE_DATA *PrivateData;
- PrivateData = NULL;
- //
- // If already started, return.
- //
- Status = gBS->OpenProtocol (
- ImageHandle,
- &gEfiCallerIdGuid,
- NULL,
- ImageHandle,
- ImageHandle,
- EFI_OPEN_PROTOCOL_TEST_PROTOCOL
- );
- if (!EFI_ERROR (Status)) {
- return EFI_ALREADY_STARTED;
- }
- //
- // Initialize the private data structure.
- //
- PrivateData = AllocateZeroPool (sizeof (TLS_AUTH_CONFIG_PRIVATE_DATA));
- if (PrivateData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
- //
- // Initialize the HII configuration form.
- //
- Status = TlsAuthConfigFormInit (PrivateData);
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
- //
- // Install private GUID.
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &ImageHandle,
- &gEfiCallerIdGuid,
- PrivateData,
- NULL
- );
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
- return EFI_SUCCESS;
- ON_ERROR:
- TlsAuthConfigFormUnload (PrivateData);
- return Status;
- }
|