xref: /aosp_15_r20/external/tpm2-tss/src/tss2-fapi/ifapi_policy.h (revision 758e9fba6fc9adbf15340f70c73baee7b168b1c9)
1*758e9fbaSOystein Eftevaag /* SPDX-License-Identifier: BSD-2-Clause */
2*758e9fbaSOystein Eftevaag /*******************************************************************************
3*758e9fbaSOystein Eftevaag  * Copyright 2018-2019, Fraunhofer SIT sponsored by Infineon Technologies AG
4*758e9fbaSOystein Eftevaag  * All rights reserved.
5*758e9fbaSOystein Eftevaag  *******************************************************************************/
6*758e9fbaSOystein Eftevaag #ifndef IFAPI_POLICY_H
7*758e9fbaSOystein Eftevaag #define IFAPI_POLICY_H
8*758e9fbaSOystein Eftevaag 
9*758e9fbaSOystein Eftevaag #include <stdint.h>
10*758e9fbaSOystein Eftevaag #include <stdarg.h>
11*758e9fbaSOystein Eftevaag #include <stdbool.h>
12*758e9fbaSOystein Eftevaag #include <sys/stat.h>
13*758e9fbaSOystein Eftevaag #include <json-c/json.h>
14*758e9fbaSOystein Eftevaag #include <json-c/json_util.h>
15*758e9fbaSOystein Eftevaag 
16*758e9fbaSOystein Eftevaag #include "tss2_esys.h"
17*758e9fbaSOystein Eftevaag #include "tss2_fapi.h"
18*758e9fbaSOystein Eftevaag #include "fapi_int.h"
19*758e9fbaSOystein Eftevaag #include "fapi_policy.h"
20*758e9fbaSOystein Eftevaag 
21*758e9fbaSOystein Eftevaag TSS2_RC
22*758e9fbaSOystein Eftevaag get_policy_digest_idx(
23*758e9fbaSOystein Eftevaag     TPML_DIGEST_VALUES *digest_values,
24*758e9fbaSOystein Eftevaag     TPMI_ALG_HASH hashAlg,
25*758e9fbaSOystein Eftevaag     size_t *idx);
26*758e9fbaSOystein Eftevaag 
27*758e9fbaSOystein Eftevaag TSS2_RC
28*758e9fbaSOystein Eftevaag ifapi_compute_policy_digest(
29*758e9fbaSOystein Eftevaag     TPML_PCRVALUES *pcrs,
30*758e9fbaSOystein Eftevaag     TPML_PCR_SELECTION *pcr_selection,
31*758e9fbaSOystein Eftevaag     TPMI_ALG_HASH hash_alg,
32*758e9fbaSOystein Eftevaag     TPM2B_DIGEST *pcr_digest);
33*758e9fbaSOystein Eftevaag 
34*758e9fbaSOystein Eftevaag TSS2_RC
35*758e9fbaSOystein Eftevaag ifapi_calculate_tree(
36*758e9fbaSOystein Eftevaag     FAPI_CONTEXT *context,
37*758e9fbaSOystein Eftevaag     const char *policyPath,
38*758e9fbaSOystein Eftevaag     TPMS_POLICY *policy,
39*758e9fbaSOystein Eftevaag     TPMI_ALG_HASH hash_alg,
40*758e9fbaSOystein Eftevaag     size_t *digest_idx,
41*758e9fbaSOystein Eftevaag     size_t *hash_size);
42*758e9fbaSOystein Eftevaag 
43*758e9fbaSOystein Eftevaag #endif /* IFAPI_POLICY_H */
44