--- /dev/null
+/** @file\r
+ Provides firmware device specific services to support saving dependency to\r
+ firmware device and getting dependency from firmware device.\r
+\r
+ Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>\r
+\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef __FMP_DEPENDENCY_DEVICE_LIB__\r
+#define __FMP_DEPENDENCY_DEVICE_LIB__\r
+\r
+#include <PiDxe.h>\r
+#include <Protocol/FirmwareManagement.h>\r
+\r
+/**\r
+ Save dependency to Fmp device.\r
+\r
+ @param[in] Depex Fmp dependency.\r
+ @param[in] DepexSize Size, in bytes, of the Fmp dependency.\r
+\r
+ @retval EFI_SUCCESS Save Fmp dependency succeeds.\r
+ @retval EFI_UNSUPPORTED Save Fmp dependency is not supported.\r
+ @retval Others Save Fmp dependency fails.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+SaveFmpDependency (\r
+ IN EFI_FIRMWARE_IMAGE_DEP *Depex,\r
+ IN UINT32 DepexSize\r
+ );\r
+\r
+/**\r
+ Get dependency from the Fmp device.\r
+ This caller is responsible for freeing the dependency buffer.\r
+\r
+ @param[out] DepexSize Size, in bytes, of the dependency.\r
+\r
+ @retval The pointer to dependency.\r
+ @retval NULL\r
+\r
+**/\r
+EFI_FIRMWARE_IMAGE_DEP*\r
+EFIAPI\r
+GetFmpDependency (\r
+ OUT UINT32 *DepexSize\r
+ );\r
+\r
+#endif\r