]> git.proxmox.com Git - mirror_edk2.git/blobdiff - FmpDevicePkg/Include/Library/FmpDependencyDeviceLib.h
FmpDevicePkg: Add FmpDependencyDevice library class and NULL instance
[mirror_edk2.git] / FmpDevicePkg / Include / Library / FmpDependencyDeviceLib.h
diff --git a/FmpDevicePkg/Include/Library/FmpDependencyDeviceLib.h b/FmpDevicePkg/Include/Library/FmpDependencyDeviceLib.h
new file mode 100644 (file)
index 0000000..4351173
--- /dev/null
@@ -0,0 +1,51 @@
+/** @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