summaryrefslogtreecommitdiff
path: root/ReferenceCode/Chipset/SystemAgent/SampleCode/Ppi/Capsule/Capsule.h
blob: 200e7f5e36965e0cdf04870a9ebbace5381c9097 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/** @file
  Capsule PPI definitions.

@copyright
  Copyright (c) 1999 - 2012 Intel Corporation. All rights reserved
  This software and associated documentation (if any) is furnished
  under a license and may only be used or copied in accordance
  with the terms of the license. Except as permitted by such
  license, no part of this software or documentation may be
  reproduced, stored in a retrieval system, or transmitted in any
  form or by any means without the express written consent of
  Intel Corporation.

  This file contains 'Framework Code' and is licensed as such
  under the terms of your license agreement with Intel or your
  vendor.  This file may not be modified, except as allowed by
  additional terms of your license agreement.
**/

#ifndef _PEI_CAPSULE_PPI_H_
#define _PEI_CAPSULE_PPI_H_

#define PEI_CAPSULE_PPI_GUID \
  { \
    0x3acf33ee, 0xd892, 0x40f4, 0xa2, 0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d \
  }

EFI_FORWARD_DECLARATION (PEI_CAPSULE_PPI);

typedef
EFI_STATUS
(EFIAPI *PEI_CAPSULE_COALESCE) (
  IN EFI_PEI_SERVICES                **PeiServices,
  IN OUT VOID                        **MemoryBase,
  IN OUT UINTN                       *MemSize
  );

typedef
EFI_STATUS
(EFIAPI *PEI_CAPSULE_CREATE_STATE) (
  IN EFI_PEI_SERVICES                                 **PeiServices,
  IN VOID                                             *CapsuleBase, /// returned from coalesce
  IN UINTN                              CapsuleSize                 /// returned from coalesce
  );

typedef
EFI_STATUS
(EFIAPI *PEI_CAPSULE_CHECK_CAPSULE_UPDATE) (
  IN EFI_PEI_SERVICES           **PeiServices
  );

struct _PEI_CAPSULE_PPI {
  PEI_CAPSULE_COALESCE              Coalesce;
  PEI_CAPSULE_CHECK_CAPSULE_UPDATE  CheckCapsuleUpdate;
  PEI_CAPSULE_CREATE_STATE          CreateState;
};

extern EFI_GUID gPeiCapsulePpiGuid;

#endif /// #ifndef _PEI_CAPSULE_PPI_H_