13 #include <json-c/json.h>
14 #include <json-c/json_util.h>
16 #include "tss2_esys.h"
17 #include "tss2_fapi.h"
19 #include "ifapi_policy_callbacks.h"
23 TPML_DIGEST_VALUES *digest_values,
24 TPMI_ALG_HASH hashAlg,
30 TPML_PCR_SELECTION *pcr_selection,
31 TPMI_ALG_HASH hash_alg,
32 TPM2B_DIGEST *pcr_digest);
34 static inline void ifapi_policy_ctx_init(
FAPI_CONTEXT *context) {
36 TSS2_POLICY_CALC_CALLBACKS *callbacks = &context->
policy.eval_ctx.
callbacks;
38 callbacks->cbname_userdata = context;
40 callbacks->cbpublic_userdata = context;
41 callbacks->cbnvpublic = ifapi_get_nv_public;
42 callbacks->cbnvpublic_userdata = context;
43 callbacks->cbpcr = ifapi_read_pcr;
44 callbacks->cbpcr_userdata = context;
48 ifapi_calculate_tree_ex(
52 const char *policyPath,
54 TPMI_ALG_HASH hash_alg,
59 ifapi_execute_tree_ex(
60 enum IFAPI_STATE_POLICY *state,
65 const char *policyPath,
68 TPMI_ALG_HASH hash_alg,
74 const char *policyPath,
76 TPMI_ALG_HASH hash_alg,
80 return ifapi_calculate_tree_ex(&context->
policy,
Definition: esys_int.h:161
TSS2_RC ifapi_compute_policy_digest(TPML_PCRVALUES *pcrs, TPML_PCR_SELECTION *pcr_selection, TPMI_ALG_HASH hash_alg, TPM2B_DIGEST *pcr_digest)
Definition: ifapi_helpers.c:2368
TSS2_RC ifapi_get_key_public(const char *path, TPMT_PUBLIC *public, void *ctx)
Definition: ifapi_policy_callbacks.c:87
TSS2_RC ifapi_get_object_name(const char *path, TPM2B_NAME *name, void *ctx)
Definition: ifapi_policy_callbacks.c:160
TSS2_RC get_policy_digest_idx(TPML_DIGEST_VALUES *digest_values, TPMI_ALG_HASH hashAlg, size_t *idx)
Definition: ifapi_policy_execute.c:143
Definition: fapi_int.h:1157
IFAPI_POLICY_CTX policy
Definition: fapi_int.h:1197
Definition: ifapi_io.h:15
Definition: fapi_int.h:616
Definition: ifapi_policy_instantiate.h:25
TSS2_POLICY_CALC_CALLBACKS callbacks
Definition: ifapi_policy_instantiate.h:28
Definition: ifapi_policy_execute.h:67
Definition: ifapi_policy_store.h:17
Definition: ifapi_policy_types.h:275