• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*############################################################################
2 # Copyright 2017 Intel Corporation
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 ############################################################################*/
16 /// TPM internal state.
17 /*! \file */
18 
19 #ifndef EPID_MEMBER_TPM2_IBM_TSS_STATE_H_
20 #define EPID_MEMBER_TPM2_IBM_TSS_STATE_H_
21 
22 #include "epid/common/types.h"
23 #include "tss2/TPM_Types.h"
24 
25 /// \cond
26 typedef struct Epid2Params_ Epid2Params_;
27 typedef struct FfElement FfElement;
28 typedef struct TSS_CONTEXT TSS_CONTEXT;
29 /// \endcond
30 
31 /// TPM TSS context definition
32 typedef struct Tpm2Ctx {
33   TSS_CONTEXT* tss;                  ///< TSS context
34   Epid2Params_ const* epid2_params;  ///< Intel(R) EPID 2.0 params
35   TPM_HANDLE key_handle;             ///< Handle to f value of private key
36   HashAlg hash_alg;                  ///< Hash algorithm to use
37 } Tpm2Ctx;
38 
39 #endif  // EPID_MEMBER_TPM2_IBM_TSS_STATE_H_
40