/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* TPM Lightweight Command Library. * * A low-level library for interfacing to TPM hardware or an emulator. */ #ifndef VBOOT_REFERENCE_TLCL_STUB_H_ #define VBOOT_REFERENCE_TLCL_STUB_H_ #include "sysincludes.h" #include "tss_constants.h" /*****************************************************************************/ /* Functions to be implemented by the stub library */ /* Initialize the stub library. Returns 0 if success, nonzero if error. */ uint32_t TlclStubInit(void); /* Close and open the device. This is needed for running more complex commands * at user level, such as TPM_TakeOwnership, since the TPM device can be opened * only by one process at a time. Returns 0 if success, nonzero if error. */ uint32_t TlclCloseDevice(void); uint32_t TlclOpenDevice(void); /* Send data to the TPM and receive a response. Returns 0 if success, * nonzero if error. */ uint32_t TlclStubSendReceive(const uint8_t* request, int request_length, uint8_t* response, int max_length); #endif /* VBOOT_REFERENCE_TLCL_STUB_H_ */