1 /* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2  * Use of this source code is governed by a BSD-style license that can be
3  * found in the LICENSE file.
4  *
5  * Functions for updating the TPM state with the status of boot path.
6  */
7 
8 #ifndef VBOOT_REFERENCE_TPM_BOOTMODE_H_
9 #define VBOOT_REFERENCE_TPM_BOOTMODE_H_
10 
11 #include "gbb_header.h"
12 #include "sysincludes.h"
13 
14 /**
15  * Update TPM PCR State with the boot path status.
16  *
17  *  [developer_mode]: State of the developer switch.
18  *  [recovery_mode]: State of the recovery mode.
19  *  [fw_keyblock_flags]: Keyblock flags of the to-be-booted
20  *                       RW firmware keyblock.
21  *  [gbb]: Pointer to GBB header from RO firmware.
22  *
23  * Returns: TPM_SUCCESS if the TPM extend operation succeeds.
24  */
25 uint32_t SetTPMBootModeState(int developer_mode, int recovery_mode,
26 			     uint64_t fw_keyblock_flags,
27 			     GoogleBinaryBlockHeader *gbb);
28 
29 #endif  /* VBOOT_REFERENCE_TPM_BOOTMODE_H_ */
30