/** @file Definition for Capsule Update Criteria Library Class ;****************************************************************************** ;* Copyright (c) 2012 - 2019, Insyde Software Corp. All Rights Reserved. ;* ;* You may not reproduce, distribute, publish, display, perform, modify, adapt, ;* transmit, broadcast, present, recite, release, license or otherwise exploit ;* any part of this publication in any form, by any means, without the prior ;* written permission of Insyde Software Corporation. ;* ;****************************************************************************** */ #ifndef _CHIPSET_CAPSULE_LIB_H_ #define _CHIPSET_CAPSULE_LIB_H_ #include #include #define EFI_CAPSULE_FILE_PATH L"EFI\\UpdateCapsule" #define EFI_CAPSULE_FILE_NAME L"CapsuleUpdateFile" typedef enum { MeFirmware, IshFirmware = 0x4, PdtFirmware, IomFirmware, MgPhyFirmware, TbtFirmware } FIRMWARE_TYPE; /** Get system firmware revision for ESRT from capsule image @param CapsuleHeader Points to a capsule header. @return The system firmware revision from the capsule image If the signature cannot be found, 0x00000000 will be returned **/ UINT32 EFIAPI GetIntelMeCapsuleFirmwareVersion ( IN EFI_CAPSULE_HEADER *CapsuleHeader ); EFI_STATUS GetFirmwareVersion ( IN OUT UINT32 *FwVersion, IN UINT8 FirwareType ); /** Pre-installation check for Capsule Update @param CapsuleHeader Points to a capsule header. @retval ESRT_SUCCESS The Capsule passed the pre-installation criteria @retval ESRT_ERROR_UNSUCCESSFUL The pre-installation criteria check failed @retval ESRT_ERROR_INSUFFICIENT_RESOURCES Out of memory or persistent storage @retval ESRT_ERROR_INCORRECT_VERSION Incorrect/incompatible firmware version @retval ESRT_ERROR_INVALID_IMAGE_FORMAT Invalid Capsule image format @retval ESRT_ERROR_AUTHENTICATION Capsule image authentication failed @retval ESRT_ERROR_AC_NOT_CONNECTED The system is not connected to the AC power @retval ESRT_ERROR_INSUFFICIENT_BATTERY The battery capacity is low **/ ESRT_STATUS EFIAPI MEPreInstallationCheck ( EFI_CAPSULE_HEADER *Capsule ); /** Post-installation check for Capsule Update @param CapsuleHeader Points to a capsule header. @retval ESRT_SUCCESS The Capsule passed the pre-installation criteria @retval ESRT_ERROR_UNSUCCESSFUL The pre-installation criteria check failed @retval ESRT_ERROR_INSUFFICIENT_RESOURCES Out of memory or persistent storage @retval ESRT_ERROR_AUTHENTICATION Capsule image authentication failed **/ ESRT_STATUS EFIAPI PostInstallationCheck ( EFI_CAPSULE_HEADER *Capsule ); #endif