1 /*++ 2 3 Copyright (c) 1999 - 2002, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 13 Module Name: 14 15 DeviceRecoveryModule.h 16 17 Abstract: 18 19 Device Recovery Module PPI as defined in EFI 2.0 20 21 --*/ 22 23 #ifndef _PEI_DEVICE_RECOVERY_MODULE_PPI_H 24 #define _PEI_DEVICE_RECOVERY_MODULE_PPI_H 25 26 #define PEI_DEVICE_RECOVERY_MODULE_INTERFACE_PPI \ 27 { \ 28 0x0DE2CE25, 0x446A, 0x45a7, {0xBF, 0xC9, 0x37, 0xDA, 0x26, 0x34, 0x4B, 0x37} \ 29 } 30 31 EFI_FORWARD_DECLARATION (PEI_DEVICE_RECOVERY_MODULE_INTERFACE); 32 33 typedef 34 EFI_STATUS 35 (EFIAPI *PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE) ( 36 IN EFI_PEI_SERVICES **PeiServices, 37 IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This, 38 OUT UINTN *NumberRecoveryCapsules 39 ); 40 41 typedef 42 EFI_STATUS 43 (EFIAPI *PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO) ( 44 IN EFI_PEI_SERVICES **PeiServices, 45 IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This, 46 IN UINTN CapsuleInstance, 47 OUT UINTN *Size, 48 OUT EFI_GUID * CapsuleType 49 ); 50 51 typedef 52 EFI_STATUS 53 (EFIAPI *PEI_DEVICE_LOAD_RECOVERY_CAPSULE) ( 54 IN OUT EFI_PEI_SERVICES **PeiServices, 55 IN PEI_DEVICE_RECOVERY_MODULE_INTERFACE * This, 56 IN UINTN CapsuleInstance, 57 OUT VOID *Buffer 58 ); 59 60 struct _PEI_DEVICE_RECOVERY_MODULE_INTERFACE { 61 PEI_DEVICE_GET_NUMBER_RECOVERY_CAPSULE GetNumberRecoveryCapsules; 62 PEI_DEVICE_GET_RECOVERY_CAPSULE_INFO GetRecoveryCapsuleInfo; 63 PEI_DEVICE_LOAD_RECOVERY_CAPSULE LoadRecoveryCapsule; 64 }; 65 66 extern EFI_GUID gPeiDeviceRecoveryModulePpiGuid; 67 68 #endif 69