+++ /dev/null
-/*++\r
-\r
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
- \r\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
- \r\r
-\r
-\r
-Module Name:\r
-\r
- Tpm.h\r
-\r
-Abstract:\r
-\r
-\r
---*/\r
-\r
-#ifndef __EFI_TPM_MP_DRIVER_PROTOCOL_H__\r
-#define __EFI_TPM_MP_DRIVER_PROTOCOL_H__\r
-\r
-\r
-#define EFI_TPM_MP_DRIVER_PROTOCOL_GUID \\r
- { 0xde161cfe, 0x1e60, 0x42a1, 0x8c, 0xc3, 0xee, 0x7e, 0xf0, 0x73, 0x52, 0x12 }\r
-\r
-\r
-EFI_FORWARD_DECLARATION (EFI_TPM_MP_DRIVER_PROTOCOL);\r
-\r
-#define TPM_DRIVER_STATUS 0\r
-#define TPM_DEVICE_STATUS 1\r
-\r
-#define TPM_DRIVER_OK 0\r
-#define TPM_DRIVER_FAILED 1\r
-#define TPM_DRIVER_NOT_OPENED 2\r
-#define TPM_DEVICE_OK 0\r
-#define TPM_DEVICE_UNRECOVERABLE 1\r
-#define TPM_DEVICE_RECOVERABLE 2\r
-#define TPM_DEVICE_NOT_FOUND 3\r
-\r
-//\r
-// Prototypes for the TPM MP Driver Protocol\r
-//\r
-\r
-/**\r
- This service Open the TPM interface\r
-\r
- @param[in] This A pointer to the EFI_TPM_MP_DRIVER_PROTOCOL.\r
-\r
- @retval EFI_SUCCESS Operation completed successfully\r
- @retval EFI_DEVICE_ERROR The command was unsuccessful\r
- @retval EFI_NOT_FOUND The component was not running\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_TPM_MP_INIT) (\r
- IN EFI_TPM_MP_DRIVER_PROTOCOL *This\r
- );\r
-\r
-/**\r
- This service close the TPM interface and deactivate TPM\r
-\r
- @param[in] This A pointer to the EFI_TPM_MP_DRIVER_PROTOCOL.\r
-\r
- @retval EFI_SUCCESS Operation completed successfully\r
- @retval EFI_DEVICE_ERROR The command was unsuccessful\r
- @retval EFI_NOT_FOUND The component was not running\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_TPM_MP_CLOSE) (\r
- IN EFI_TPM_MP_DRIVER_PROTOCOL *This\r
- );\r
-\r
-/**\r
- This service get the current status infomation of TPM\r
-\r
- @param[in] This A pointer to the EFI_TPM_MP_DRIVER_PROTOCOL.\r
- @param[in] ReqStatusType Requested type of status information, driver or device.\r
- @param[in] Status Pointer to the returned status.\r
-\r
- @retval EFI_SUCCESS Operation completed successfully\r
- @retval EFI_DEVICE_ERROR The command was unsuccessful\r
- @retval EFI_INVALID_PARAMETER One or more of the parameters are incorrect\r
- @retval EFI_BUFFER_TOO_SMALL The receive buffer is too small\r
- @retval EFI_NOT_FOUND The component was not running\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_TPM_MP_GET_STATUS_INFO) (\r
- IN EFI_TPM_MP_DRIVER_PROTOCOL *This,\r
- IN UINT32 ReqStatusType,\r
- OUT UINT32 *Status\r
- );\r
-\r
-/**\r
- This service transmit data to the TPM and get response from TPM\r
-\r
- @param[in] This A pointer to the EFI_TPM_MP_DRIVER_PROTOCOL.\r
- @param[in] TransmitBuf Pointer to a buffer containing TPM transmit data.\r
- @param[in] TransmitBufLen Sizeof TPM input buffer in bytes.\r
- @param[in] ReceiveBuf Pointer to a buffer containing TPM receive data.\r
- @param[in] ReceiveBufLen On input, size of TPM receive buffer in bytes.\r
- On output, number of bytes written.\r
-\r
- @retval EFI_SUCCESS Operation completed successfully\r
- @retval EFI_DEVICE_ERROR The command was unsuccessful\r
- @retval EFI_INVALID_PARAMETER One or more of the parameters are incorrect\r
- @retval EFI_BUFFER_TOO_SMALL The receive buffer is too small\r
- @retval EFI_NOT_FOUND The component was not running\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_TPM_MP_TRANSMIT) (\r
- IN EFI_TPM_MP_DRIVER_PROTOCOL *This,\r
- IN UINT8 *TransmitBuffer,\r
- IN UINT32 TransmitBufferLen,\r
- OUT UINT8 *ReceiveBuf,\r
- IN OUT UINT32 *ReceiveBufLen\r
- );\r
-\r
-\r
-\r
-typedef struct _EFI_TPM_MP_DRIVER_PROTOCOL {\r
- EFI_TPM_MP_INIT Init;\r
- EFI_TPM_MP_CLOSE Close;\r
- EFI_TPM_MP_GET_STATUS_INFO GetStatusInfo;\r
- EFI_TPM_MP_TRANSMIT Transmit;\r
-} EFI_TPM_MP_DRIVER_PROTOCOL;\r
-\r
-extern EFI_GUID gEfiTpmMpDriverProtocolGuid;\r
-\r
-#endif\r