blob: 85d966832de20e601ce427cd42b13da4c41924d8 [file] [log] [blame]
Subrata Banik20fe24b2021-12-09 02:46:38 +05301/** @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
6Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
7SPDX-License-Identifier: BSD-2-Clause-Patent
8
9 @par Revision Reference:
10 This PPI is introduced in PI Version 1.5.
11
12**/
13
14#ifndef __SEC_HOB_DATA_PPI_H__
15#define __SEC_HOB_DATA_PPI_H__
16
17#include <Pi/PiHob.h>
18
19#define EFI_SEC_HOB_DATA_PPI_GUID \
20 { \
21 0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 0x99, 0x9a, 0xc1, 0xb7, 0x1f } \
22 }
23
24typedef struct _EFI_SEC_HOB_DATA_PPI EFI_SEC_HOB_DATA_PPI;
25
26/**
27 Return a pointer to a buffer containing zero or more HOBs that
28 will be installed into the PEI HOB List.
29
30 This function returns a pointer to a pointer to zero or more HOBs,
31 terminated with a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST.
32 Note: The HobList must not contain a EFI_HOB_HANDOFF_INFO_TABLE HOB (PHIT) HOB.
33
34 @param[in] This Pointer to this PPI structure.
35 @param[out] HobList A pointer to a returned pointer to zero or more HOBs.
36 If no HOBs are to be returned, then the returned pointer
37 is a pointer to a HOB of type EFI_HOB_TYPE_END_OF_HOB_LIST.
38
39 @retval EFI_SUCCESS This function completed successfully.
40 @retval EFI_NOT_FOUND No HOBS are available.
41
42**/
43typedef
44EFI_STATUS
45(EFIAPI *EFI_SEC_HOB_DATA_GET) (
46 IN CONST EFI_SEC_HOB_DATA_PPI *This,
47 OUT EFI_HOB_GENERIC_HEADER **HobList
48);
49
50///
51/// This PPI provides a way for the SEC code to pass zero or more HOBs in a HOB list.
52///
53struct _EFI_SEC_HOB_DATA_PPI {
54 EFI_SEC_HOB_DATA_GET GetHobs;
55};
56
57extern EFI_GUID gEfiSecHobDataPpiGuid;
58
59#endif