Home | History | Annotate | Download | only in Library
      1 /** @file
      2   This library abstract how to access TPM12 hardware device.
      3 
      4 Copyright (c) 2013, Intel Corporation. All rights reserved. <BR>
      5 This program and the accompanying materials
      6 are licensed and made available under the terms and conditions of the BSD License
      7 which accompanies this distribution.  The full text of the license may be found at
      8 http://opensource.org/licenses/bsd-license.php
      9 
     10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef _TPM12_DEVICE_LIB_H_
     16 #define _TPM12_DEVICE_LIB_H_
     17 
     18 #include <IndustryStandard/Tpm12.h>
     19 
     20 /**
     21   This service enables the sending of commands to the TPM12.
     22 
     23   @param[in]      InputParameterBlockSize  Size of the TPM12 input parameter block.
     24   @param[in]      InputParameterBlock      Pointer to the TPM12 input parameter block.
     25   @param[in,out]  OutputParameterBlockSize Size of the TPM12 output parameter block.
     26   @param[in]      OutputParameterBlock     Pointer to the TPM12 output parameter block.
     27 
     28   @retval EFI_SUCCESS            The command byte stream was successfully sent to the device and a response was successfully received.
     29   @retval EFI_DEVICE_ERROR       The command was not successfully sent to the device or a response was not successfully received from the device.
     30   @retval EFI_BUFFER_TOO_SMALL   The output parameter block is too small.
     31 **/
     32 EFI_STATUS
     33 EFIAPI
     34 Tpm12SubmitCommand (
     35   IN UINT32            InputParameterBlockSize,
     36   IN UINT8             *InputParameterBlock,
     37   IN OUT UINT32        *OutputParameterBlockSize,
     38   IN UINT8             *OutputParameterBlock
     39   );
     40 
     41 /**
     42   This service requests use TPM12.
     43 
     44   @retval EFI_SUCCESS      Get the control of TPM12 chip.
     45   @retval EFI_NOT_FOUND    TPM12 not found.
     46   @retval EFI_DEVICE_ERROR Unexpected device behavior.
     47 **/
     48 EFI_STATUS
     49 EFIAPI
     50 Tpm12RequestUseTpm (
     51   VOID
     52   );
     53 
     54 #endif
     55