]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/Include/Ppi/LockPhysicalPresence.h
0ae3b7b0ab4f264acf82474742d98748398a17a6
[mirror_edk2.git] / SecurityPkg / Include / Ppi / LockPhysicalPresence.h
1 /** @file
2 This file defines the lock physical Presence PPI. This PPI is
3 produced by a platform specific PEIM and consumed by the TPM
4 PEIM.
5
6 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
7 This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. 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 **/
16
17 #ifndef __PEI_LOCK_PHYSICAL_PRESENCE_H__
18 #define __PEI_LOCK_PHYSICAL_PRESENCE_H__
19
20 ///
21 /// Global ID for the PEI_LOCK_PHYSICAL_PRESENCE_PPI_GUID.
22 ///
23 #define PEI_LOCK_PHYSICAL_PRESENCE_PPI_GUID \
24 { \
25 0xef9aefe5, 0x2bd3, 0x4031, { 0xaf, 0x7d, 0x5e, 0xfe, 0x5a, 0xbb, 0x9a, 0xd } \
26 }
27
28 ///
29 /// Forward declaration for the PEI_LOCK_PHYSICAL_PRESENCE_PPI
30 ///
31 typedef struct _PEI_LOCK_PHYSICAL_PRESENCE_PPI PEI_LOCK_PHYSICAL_PRESENCE_PPI;
32
33 /**
34 This interface returns whether TPM physical presence needs be locked.
35
36 @param[in] PeiServices The pointer to the PEI Services Table.
37
38 @retval TRUE The TPM physical presence should be locked.
39 @retval FALSE The TPM physical presence cannot be locked.
40
41 **/
42 typedef
43 BOOLEAN
44 (EFIAPI *PEI_LOCK_PHYSICAL_PRESENCE)(
45 IN CONST EFI_PEI_SERVICES **PeiServices
46 );
47
48 ///
49 /// This service abstracts TPM physical presence lock interface. It is necessary for
50 /// safety to convey this information to the TPM driver so that TPM physical presence
51 /// can be locked as early as possible. This PPI is produced by a platform specific
52 /// PEIM and consumed by the TPM PEIM.
53 ///
54 struct _PEI_LOCK_PHYSICAL_PRESENCE_PPI {
55 PEI_LOCK_PHYSICAL_PRESENCE LockPhysicalPresence;
56 };
57
58 extern EFI_GUID gPeiLockPhysicalPresencePpiGuid;
59
60 #endif // __PEI_LOCK_PHYSICAL_PRESENCE_H__