FmpDevicePkg: Add FmpDependencyDevice library class and NULL instance

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2696

This library provides firmware device specific services to support
saving dependency to firmware device and getting dependency from
firmware device.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
Reviewed-by: Sean Brogan <sean.brogan@microsoft.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Wei6 Xu
2020-05-12 16:12:37 +08:00
committed by mergify[bot]
parent 6c4966423b
commit ba86bb2c4d
6 changed files with 149 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
/** @file
Null instance of FmpDependencyDeviceLib.
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <PiDxe.h>
#include <Library/FmpDependencyDeviceLib.h>
/**
Save dependency to Fmp device.
@param[in] Depex Fmp dependency.
@param[in] DepexSize Size, in bytes, of the Fmp dependency.
@retval EFI_SUCCESS Save Fmp dependency succeeds.
@retval EFI_UNSUPPORTED Save Fmp dependency is not supported.
@retval Others Save Fmp dependency fails.
**/
EFI_STATUS
EFIAPI
SaveFmpDependency (
IN EFI_FIRMWARE_IMAGE_DEP *Depex,
IN UINT32 DepexSize
)
{
return EFI_UNSUPPORTED;
}
/**
Get dependency from the Fmp device.
This caller is responsible for freeing the dependency buffer.
@param[out] DepexSize Size, in bytes, of the dependency.
@retval The pointer to dependency.
@retval NULL
**/
EFI_FIRMWARE_IMAGE_DEP*
EFIAPI
GetFmpDependency (
OUT UINT32 *DepexSize
)
{
return NULL;
}

View File

@@ -0,0 +1,29 @@
## @file
# Fmp Dependency Device Library Null instance.
#
# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = FmpDependencyDeviceLibNull
MODULE_UNI_FILE = FmpDependencyDeviceLibNull.uni
FILE_GUID = 05BE67B1-0748-4022-97E6-7C0D2F992AA6
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = FmpDependencyDeviceLib|DXE_DRIVER UEFI_DRIVER
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
#
[Sources]
FmpDependencyDeviceLib.c
[Packages]
MdePkg/MdePkg.dec
FmpDevicePkg/FmpDevicePkg.dec

View File

@@ -0,0 +1,12 @@
// /** @file
// Fmp Dependency Device Library Null instance.
//
// Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/
#string STR_MODULE_ABSTRACT #language en-US "Fmp Dependency Device Library Null instance."
#string STR_MODULE_DESCRIPTION #language en-US "Null instance that does not support saving and getting dependency for Fmp device."