• 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 /// SDK TPM API.
17 /*! \file */
18 
19 #ifndef EPID_MEMBER_TPM2_LOAD_EXTERNAL_H_
20 #define EPID_MEMBER_TPM2_LOAD_EXTERNAL_H_
21 
22 #include "epid/common/errors.h"
23 #include "epid/common/types.h"  // HashAlg
24 
25 /// \cond
26 typedef struct Tpm2Ctx Tpm2Ctx;
27 typedef struct FpElemStr FpElemStr;
28 /// \endcond
29 
30 /*!
31  \addtogroup Tpm2Module tpm2
32  \ingroup EpidMemberModule
33  @{
34 */
35 
36 /// Invokes TPM2_LoadExternal command
37 /*!
38  This command is used to load an object that is not a Protected Object into the
39  TPM. The command allows loading of a public area or both a public and sensitive
40  area.
41 
42  \param[in,out] ctx
43  TPM context.
44 
45  \param[in] f_str
46  The f value of the member private key.
47 
48  \returns ::EpidStatus
49 */
50 EpidStatus Tpm2LoadExternal(Tpm2Ctx* ctx, FpElemStr const* f_str);
51 
52 /*! @} */
53 
54 #endif  // EPID_MEMBER_TPM2_LOAD_EXTERNAL_H_
55