1 /*++ 2 3 Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved 4 5 This program and the accompanying materials are licensed and made available under 6 the terms and conditions of the BSD License that accompanies this distribution. 7 The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php. 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 14 15 Module Name: 16 17 Capsule.h 18 19 Abstract: 20 21 Capsule PPI definitions. 22 23 --*/ 24 // 25 // 26 #ifndef _PEI_CAPSULE_PPI_H_ 27 #define _PEI_CAPSULE_PPI_H_ 28 29 #define PEI_CAPSULE_PPI_GUID \ 30 { \ 31 0x3acf33ee, 0xd892, 0x40f4, 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d \ 32 } 33 34 EFI_FORWARD_DECLARATION (PEI_CAPSULE_PPI); 35 36 typedef 37 EFI_STATUS 38 (EFIAPI *PEI_CAPSULE_COALESCE) ( 39 IN EFI_PEI_SERVICES **PeiServices, 40 IN OUT VOID **MemoryBase, 41 IN OUT UINTN *MemSize 42 ); 43 44 typedef 45 EFI_STATUS 46 (EFIAPI *PEI_CAPSULE_CREATE_STATE) ( 47 IN EFI_PEI_SERVICES **PeiServices, 48 IN VOID *CapsuleBase, // returned from coalesce 49 IN UINTN CapsuleSize // returned from coalesce 50 ); 51 52 typedef 53 EFI_STATUS 54 (EFIAPI *PEI_CAPSULE_CHECK_CAPSULE_UPDATE) ( 55 IN EFI_PEI_SERVICES **PeiServices 56 ); 57 58 typedef struct _PEI_CAPSULE_PPI { 59 PEI_CAPSULE_COALESCE Coalesce; 60 PEI_CAPSULE_CHECK_CAPSULE_UPDATE CheckCapsuleUpdate; 61 PEI_CAPSULE_CREATE_STATE CreateState; 62 } PEI_CAPSULE_PPI; 63 64 extern EFI_GUID gPeiCapsulePpiGuid; 65 66 #endif // #ifndef _PEI_CAPSULE_PPI_H_ 67