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