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