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