tpm2-tss  3.2.1
TPM Software stack 2.0 TCG spec compliant implementation
ifapi_json_eventlog_serialize.h
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*******************************************************************************
3  * Copyright 2018-2019, Fraunhofer SIT sponsored by Infineon Technologies AG
4  * All rights reserved.
5  ******************************************************************************/
6 #ifndef IFAPI_JSON_EVENTLOG_SERIALIZE_H
7 #define IFAPI_JSON_EVENTLOG_SERIALIZE_H
8 
9 #include <stdbool.h>
10 #include <json-c/json.h>
11 #include <json-c/json_util.h>
12 
13 #include "tss2_tpm2_types.h"
14 #include "fapi_int.h"
15 #include "ifapi_keystore.h"
16 
17 typedef struct {
18  json_object *jso_event_list;
19  const uint32_t *pcr_list;
20  size_t pcr_list_size;
21  bool skip_event;
22  size_t recnum_tab[TPM2_MAX_PCRS];
24 
25 bool ifapi_pcr_used(
26  uint32_t pcr,
27  const uint32_t *pcr_list,
28  size_t pcr_list_size);
29 
30 TSS2_RC ifapi_tcg_eventlog_serialize(
31  UINT8 const *eventlog,
32  size_t size,
33  const uint32_t *pcr_list,
34  size_t pcr_list_size,
35  json_object **eventlog_json);
36 
37 TSS2_RC ifapi_get_tcg_firmware_event_list(
38  char const *filename,
39  const uint32_t *pcr_list,
40  size_t pcr_list_size,
41  json_object **json_eventlog);
42 
43 #endif /* IFAPI_JSON_EVENTLOG_SERIALIZE_H */
Definition: ifapi_json_eventlog_serialize.h:17