1 /** @file
2 
3   This library class defines a set of interfaces for how to process capsule image updates.
4 
5 Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials are licensed and made available under
7 the terms and conditions of the BSD License that accompanies this distribution.
8 The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
10 
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef __CAPSULE_LIB_H__
17 #define __CAPSULE_LIB_H__
18 
19 /**
20   The firmware checks whether the capsule image is supported
21   by the CapsuleGuid in CapsuleHeader or if there is other specific information in
22   the capsule image.
23 
24   @param  CapsuleHeader    Pointer to the UEFI capsule image to be checked.
25 
26   @retval EFI_SUCESS       Input capsule is supported by firmware.
27   @retval EFI_UNSUPPORTED  Input capsule is not supported by the firmware.
28 **/
29 EFI_STATUS
30 EFIAPI
31 SupportCapsuleImage (
32   IN EFI_CAPSULE_HEADER *CapsuleHeader
33   );
34 
35 /**
36   The firmware-specific implementation processes the capsule image
37   if it recognized the format of this capsule image.
38 
39   @param  CapsuleHeader    Pointer to the UEFI capsule image to be processed.
40 
41   @retval EFI_SUCESS       Capsule Image processed successfully.
42   @retval EFI_UNSUPPORTED  Capsule image is not supported by the firmware.
43 **/
44 EFI_STATUS
45 EFIAPI
46 ProcessCapsuleImage (
47   IN EFI_CAPSULE_HEADER *CapsuleHeader
48   );
49 
50 #endif
51