1 // SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
2 /* Copyright 2020 IBM Corp. */
3 
4 #ifndef TSSSKIBOOT_H
5 #define TSSSKIBOOT_H
6 
7 #include <ibmtss/tss.h>
8 
9 #define TSS_AUTH_PASSWD_LEN 32
10 int tss_nv_read_public(TPMI_RH_NV_INDEX nv_index, TPMS_NV_PUBLIC *nv_public,
11 		       TPM2B_NAME *nv_name);
12 int tss_nv_read(TPMI_RH_NV_INDEX nv_index, void *buffer, size_t buffer_size,
13 		uint16_t offset);
14 int tss_nv_write(TPMI_RH_NV_INDEX nv_index, void *buffer, size_t buffer_size,
15 		 uint16_t offset);
16 int tss_nv_write_lock(TPMI_RH_NV_INDEX nv_index);
17 int tss_nv_define_space(TPMI_RH_NV_INDEX nv_index, uint16_t data_size);
18 int tss_pcr_extend(TPMI_DH_PCR pcr_handle, TPMI_ALG_HASH *alg_hashes,
19 		   uint8_t hashes_count, const uint8_t **digests);
20 int tss_pcr_read(TPMI_DH_PCR pcr_handle, TPMI_ALG_HASH *alg_hashes,
21 		 uint8_t hashes_count);
22 int tss_get_random_number(void *buffer, uint16_t bytes_requested);
23 int tss_set_platform_auth(void);
24 int tss_get_defined_nv_indices(TPMI_RH_NV_INDEX **indices, size_t *count);
25 int tss_nv_undefine_space(TPMI_RH_NV_INDEX nv_index);
26 #endif /* TSSSKIBOOT_H */
27