]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Ppi/SecHobData.h
MdePkg: Add definition for SecHobData PPI
[mirror_edk2.git] / MdePkg / Include / Ppi / SecHobData.h
1 /** @file
2 This file declares Sec Hob Data PPI.
3
4 This PPI provides a way for the SEC code to pass zero or more HOBs in a HOB list.
5
6 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
7 This program and the accompanying materials are licensed and made available under
8 the terms and conditions of the BSD License that accompanies this distribution.
9 The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php.
11
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14
15 @par Revision Reference:
16 This PPI is introduced in PI Version 1.5.
17
18 **/
19
20 #ifndef __SEC_HOB_DATA_PPI_H__
21 #define __SEC_HOB_DATA_PPI_H__
22
23 #include <Pi/PiHob.h>
24
25 #define EFI_SEC_HOB_DATA_PPI_GUID \
26 { \
27 0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 0x99, 0x9a, 0xc1, 0xb7, 0x1f } \
28 }
29
30 typedef struct _EFI_SEC_HOB_DATA_PPI EFI_SEC_HOB_DATA_PPI;
31
32 /**
33 Return a pointer to a buffer containing zero or more HOBs that
34 will be installed into the PEI HOB List.
35
36 This function returns a pointer to a pointer to zero or more HOBs,
37 terminated with a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST.
38 Note: The HobList must not contain a EFI_HOB_HANDOFF_INFO_TABLE HOB (PHIT) HOB.
39
40 @param[in] This Pointer to this PPI structure.
41 @param[out] HobList A pointer to a returned pointer to zero or more HOBs.
42 If no HOBs are to be returned, then the returned pointer
43 is a pointer to a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST.
44
45 @retval EFI_SUCCESS This function completed successfully.
46 @retval EFI_NOT_FOUND No HOBS are available.
47
48 **/
49 typedef
50 EFI_STATUS
51 (EFIAPI *EFI_SEC_HOB_DATA_GET) (
52 IN CONST EFI_SEC_HOB_DATA_PPI *This,
53 OUT EFI_HOB_GENERIC_HEADER **HobList
54 );
55
56 ///
57 /// This PPI provides a way for the SEC code to pass zero or more HOBs in a HOB list.
58 ///
59 struct _EFI_SEC_HOB_DATA_PPI {
60 EFI_SEC_HOB_DATA_GET GetHobs;
61 };
62
63 extern EFI_GUID gEfiSecHobDataPpiGuid;
64
65 #endif