Home | History | Annotate | Download | only in tpm2
      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