Capsule.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*++
  2. Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. Module Name:
  5. Capsule.h
  6. Abstract:
  7. Capsule PPI definitions.
  8. --*/
  9. //
  10. //
  11. #ifndef _PEI_CAPSULE_PPI_H_
  12. #define _PEI_CAPSULE_PPI_H_
  13. #define PEI_CAPSULE_PPI_GUID \
  14. { \
  15. 0x3acf33ee, 0xd892, 0x40f4, 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d \
  16. }
  17. EFI_FORWARD_DECLARATION (PEI_CAPSULE_PPI);
  18. typedef
  19. EFI_STATUS
  20. (EFIAPI *PEI_CAPSULE_COALESCE) (
  21. IN EFI_PEI_SERVICES **PeiServices,
  22. IN OUT VOID **MemoryBase,
  23. IN OUT UINTN *MemSize
  24. );
  25. typedef
  26. EFI_STATUS
  27. (EFIAPI *PEI_CAPSULE_CREATE_STATE) (
  28. IN EFI_PEI_SERVICES **PeiServices,
  29. IN VOID *CapsuleBase, // returned from coalesce
  30. IN UINTN CapsuleSize // returned from coalesce
  31. );
  32. typedef
  33. EFI_STATUS
  34. (EFIAPI *PEI_CAPSULE_CHECK_CAPSULE_UPDATE) (
  35. IN EFI_PEI_SERVICES **PeiServices
  36. );
  37. typedef struct _PEI_CAPSULE_PPI {
  38. PEI_CAPSULE_COALESCE Coalesce;
  39. PEI_CAPSULE_CHECK_CAPSULE_UPDATE CheckCapsuleUpdate;
  40. PEI_CAPSULE_CREATE_STATE CreateState;
  41. } PEI_CAPSULE_PPI;
  42. extern EFI_GUID gPeiCapsulePpiGuid;
  43. #endif // #ifndef _PEI_CAPSULE_PPI_H_