diff --git a/.gitignore b/.gitignore index adf6fd5..d210b9c 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ test-suite.log src/.deps src/.libs RemoteSystemsTempFiles +examples/tpm/.deps +*.o +examples/tpm/tpm2_demo +examples/tpm/.libs diff --git a/IDE/OPENSTM32/Src/wolftpm_example.c b/IDE/OPENSTM32/Src/wolftpm_example.c index 0a74475..280229c 100644 --- a/IDE/OPENSTM32/Src/wolftpm_example.c +++ b/IDE/OPENSTM32/Src/wolftpm_example.c @@ -32,7 +32,7 @@ extern SPI_HandleTypeDef hspi1; #ifdef WOLF_TPM2 -extern int TPM2_Demo(void); +#include #endif diff --git a/Makefile.am b/Makefile.am index 509f297..c10df31 100644 --- a/Makefile.am +++ b/Makefile.am @@ -78,7 +78,7 @@ maintainer-clean-local: # !!!! first line of rule has to start with a hard (real) tab, not spaces egs: - $(MAKE) examples/mqttclient/mqttclient; + $(MAKE) examples/tpm/tpm2_demo; install-exec-local: install-generic-config diff --git a/README.md b/README.md index 8c0bd46..43f7f70 100644 --- a/README.md +++ b/README.md @@ -5,12 +5,23 @@ This example demonstrates calling the various TPM 2.0 API's. ## Building -`./configure && make` +1. Build wolfSSL: + +``` +./autogen.sh +./configure --enable-ecc --enable-sha512 && make && sudo make install +``` + +2. Build wolfTPM: + +``` +./configure && make +``` ## Platform -This example was written for the STM32 with the CubeMX HAL. To add additional SPI hardware support insert your own interface call in `tpm2_demo.c` for the `TPM2_IoCb` function. +This example was written for use on Raspberry Pi or the STM32 with the CubeMX HAL. To add additional SPI hardware support insert your own interface call in `tpm2_demo.c` for the `TPM2_IoCb` function. ## Sample Output diff --git a/configure.ac b/configure.ac index 8a5e465..ef3d85a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # wolftpm -# Copyright (C) 2016 wolfSSL Inc. +# Copyright (C) 2018 wolfSSL Inc. # All right reserved. AC_INIT([wolftpm],[0.1.0],[https://github.com/wolfssl/wolfTPM/issues],[wolftpm],[http://www.wolfssl.com]) @@ -18,7 +18,7 @@ AC_ARG_PROGRAM AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([src/config.h]) -WOLFMQTT_LIBRARY_VERSION=1:0:0 +WOLFTPM_LIBRARY_VERSION=1:0:0 # | | | # +------+ | +---+ # | | | @@ -30,7 +30,7 @@ WOLFMQTT_LIBRARY_VERSION=1:0:0 # | +- increment if source code has changed # | set to zero if current is incremented # +- increment if interfaces have been added, removed or changed -AC_SUBST([WOLFMQTT_LIBRARY_VERSION]) +AC_SUBST([WOLFTPM_LIBRARY_VERSION]) LT_PREREQ([2.2]) LT_INIT([disable-static], [win32-dll]) @@ -67,7 +67,7 @@ AC_CHECK_LIB(network,socket) # DEBUG DEBUG_CFLAGS="-g -O0" -DEBUG_CPPFLAGS="-DDEBUG -DDEBUG_WOLFMQTT" +DEBUG_CPPFLAGS="-DDEBUG -DDEBUG_WOLFTPM" AX_DEBUG AS_IF([test "x$ax_enable_debug" = "xyes"], diff --git a/examples/tpm/include.am b/examples/tpm/include.am index 64f27ee..64666bf 100644 --- a/examples/tpm/include.am +++ b/examples/tpm/include.am @@ -1,4 +1,13 @@ # vim:ft=automake # All paths should be given relative to the root -EXTRA_DIST+= examples/tpm/tpm2_demo.c +if BUILD_EXAMPLES +noinst_PROGRAMS += examples/tpm/tpm2_demo +noinst_HEADERS += examples/tpm/tpm2_demo.h +examples_tpm_tpm2_demo_SOURCES = examples/tpm/tpm2_demo.c +examples_tpm_tpm2_demo_LDADD = src/libwolftpm.la $(LIB_STATIC_ADD) +examples_tpm_tpm2_demo_DEPENDENCIES = src/libwolftpm.la +endif + +dist_example_DATA+= examples/tpm/tpm2_demo.c +DISTCLEANFILES+= examples/tpm/.libs/tpm_demo diff --git a/examples/tpm/tpm2_demo.c b/examples/tpm/tpm2_demo.c index 3c6a90b..0d46b4e 100644 --- a/examples/tpm/tpm2_demo.c +++ b/examples/tpm/tpm2_demo.c @@ -1,6 +1,6 @@ /* tpm2_demo.c * - * Copyright (C) 2006-2017 wolfSSL Inc. + * Copyright (C) 2006-2018 wolfSSL Inc. * * This file is part of wolfSSL. (formerly known as CyaSSL) * @@ -30,21 +30,30 @@ #include #include +#include /* Local variables */ static TPM2_CTX gTpm2Ctx; + +/* Configuration for the SPI interface */ #ifdef WOLFSSL_STM32_CUBEMX extern SPI_HandleTypeDef hspi1; #define TPM2_USER_CTX &hspi1 #else - #define TPM2_USER_CTX NULL + #include + #include + #include + #include + #define TPM2_USER_CTX (void*)"/dev/spidev0.0" #endif /* IO Callback */ static TPM_RC TPM2_IoCb(TPM2_CTX* ctx, const byte* txBuf, byte* rxBuf, word16 xferSz, void* userCtx) { + int ret = TPM_RC_FAILURE; #ifdef WOLFSSL_STM32_CUBEMX + /* STM32 CubeMX Hal */ SPI_HandleTypeDef* hspi = (SPI_HandleTypeDef*)userCtx; HAL_StatusTypeDef status; @@ -52,18 +61,26 @@ static TPM_RC TPM2_IoCb(TPM2_CTX* ctx, const byte* txBuf, byte* rxBuf, status = HAL_SPI_TransmitReceive(hspi, (byte*)txBuf, rxBuf, xferSz, 5000); __HAL_SPI_DISABLE(hspi); if (status == HAL_OK) - return TPM_RC_SUCCESS; + ret = TPM_RC_SUCCESS; #else - /* TODO: Add your platform here for HW interface */ - (void)ctx; - (void)txBuf; - (void)rxBuf; - (void)xferSz; - (void)userCtx; - + /* Use Linux Style SPI access */ + const char* devPath = (const char*)userCtx; + size_t size; + int devFile = open(devPath, O_RDWR); + if (devFile >= 0) { + size = write(devFile, txBuf, xferSz); + if (size == xferSz) { + size = read(devFile, rxBuf, xferSz); + ret = TPM_RC_SUCCESS; + } + close(devFile); + } #endif - return TPM_RC_FAILURE; + + (void)ctx; + + return ret; } #define RAND_GET_SZ 32 @@ -104,7 +121,6 @@ int TPM2_Demo(void) } cmdOut; int pcrCount, pcrIndex, i; TPML_TAGGED_TPM_PROPERTY* tpmProp; - TPM_HANDLE ek; #ifdef DEBUG_WOLFSSL wolfSSL_Debugging_ON(); @@ -263,3 +279,10 @@ int TPM2_Demo(void) return rc; } + +#ifndef NO_MAIN_DRIVER +int main(void) +{ + return TPM2_Demo(); +} +#endif diff --git a/examples/tpm/tpm2_demo.h b/examples/tpm/tpm2_demo.h new file mode 100644 index 0000000..84e80aa --- /dev/null +++ b/examples/tpm/tpm2_demo.h @@ -0,0 +1,29 @@ +/* tpm2_demo.h + * + * Copyright (C) 2006-2018 wolfSSL Inc. + * + * This file is part of wolfSSL. (formerly known as CyaSSL) + * + * wolfTPM is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * wolfTPM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _TPM2_DEMO_H_ +#define _TPM2_DEMO_H_ + + +int TPM2_Demo(void); + + +#endif /* _TPM2_DEMO_H_ */ diff --git a/src/include.am b/src/include.am index aa0b823..fa8eef7 100644 --- a/src/include.am +++ b/src/include.am @@ -7,6 +7,6 @@ lib_LTLIBRARIES+= src/libwolftpm.la src_libwolftpm_la_SOURCES = src/tpm2.c src_libwolftpm_la_CFLAGS = -DBUILDING_WOLFTPM $(AM_CFLAGS) src_libwolftpm_la_CPPFLAGS = -DBUILDING_WOLFTPM $(AM_CPPFLAGS) -src_libwolftpm_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined -version-info ${WOLFMQTT_LIBRARY_VERSION} +src_libwolftpm_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined -version-info ${WOLFTPM_LIBRARY_VERSION} src_libwolftpm_la_DEPENDENCIES = EXTRA_DIST += diff --git a/wolftpm/tpm2.h b/wolftpm/tpm2.h index eca56ff..116bcc5 100644 --- a/wolftpm/tpm2.h +++ b/wolftpm/tpm2.h @@ -22,6 +22,7 @@ #ifndef __TPM2_H__ #define __TPM2_H__ +#include #include #include #include @@ -1833,17 +1834,17 @@ typedef struct TPM2_CTX { /* Functions */ #define _TPM_Init TPM2_Init -WOLFSSL_API TPM_RC TPM2_Init(TPM2_CTX* ctx, TPM2HalIoCb ioCb, void* userCtx); +WOLFTPM_API TPM_RC TPM2_Init(TPM2_CTX* ctx, TPM2HalIoCb ioCb, void* userCtx); typedef struct { TPM_SU startupType; } Startup_In; -WOLFSSL_API TPM_RC TPM2_Startup(Startup_In* in); +WOLFTPM_API TPM_RC TPM2_Startup(Startup_In* in); typedef struct { TPM_SU shutdownType; } Shutdown_In; -WOLFSSL_API TPM_RC TPM2_Shutdown(Shutdown_In* in); +WOLFTPM_API TPM_RC TPM2_Shutdown(Shutdown_In* in); typedef struct { @@ -1855,14 +1856,14 @@ typedef struct { TPMI_YES_NO moreData; TPMS_CAPABILITY_DATA capabilityData; } GetCapability_Out; -WOLFSSL_API TPM_RC TPM2_GetCapability(GetCapability_In* in, +WOLFTPM_API TPM_RC TPM2_GetCapability(GetCapability_In* in, GetCapability_Out* out); typedef struct { TPMI_YES_NO fullTest; } SelfTest_In; -WOLFSSL_API TPM_RC TPM2_SelfTest(SelfTest_In* in); +WOLFTPM_API TPM_RC TPM2_SelfTest(SelfTest_In* in); typedef struct { TPML_ALG toTest; @@ -1870,14 +1871,14 @@ typedef struct { typedef struct { TPML_ALG toDoList; } IncrementalSelfTest_Out; -WOLFSSL_API TPM_RC TPM2_IncrementalSelfTest(IncrementalSelfTest_In* in, +WOLFTPM_API TPM_RC TPM2_IncrementalSelfTest(IncrementalSelfTest_In* in, IncrementalSelfTest_Out* out); typedef struct { TPM2B_MAX_BUFFER outData; TPM_RC testResult; } GetTestResult_Out; -WOLFSSL_API TPM_RC TPM2_GetTestResult(GetTestResult_Out* out); +WOLFTPM_API TPM_RC TPM2_GetTestResult(GetTestResult_Out* out); typedef struct { @@ -1886,12 +1887,12 @@ typedef struct { typedef struct { TPM2B_DIGEST randomBytes; } GetRandom_Out; -WOLFSSL_API TPM_RC TPM2_GetRandom(GetRandom_In* in, GetRandom_Out* out); +WOLFTPM_API TPM_RC TPM2_GetRandom(GetRandom_In* in, GetRandom_Out* out); typedef struct { TPM2B_SENSITIVE_DATA inData; } StirRandom_In; -WOLFSSL_API TPM_RC TPM2_StirRandom(StirRandom_In* in); +WOLFTPM_API TPM_RC TPM2_StirRandom(StirRandom_In* in); typedef struct { TPML_PCR_SELECTION pcrSelectionIn; @@ -1901,7 +1902,7 @@ typedef struct { TPML_PCR_SELECTION pcrSelectionOut; TPML_DIGEST pcrValues; } PCR_Read_Out; -WOLFSSL_API TPM_RC TPM2_PCR_Read(PCR_Read_In* in, PCR_Read_Out* out); +WOLFTPM_API TPM_RC TPM2_PCR_Read(PCR_Read_In* in, PCR_Read_Out* out); typedef struct { @@ -1909,7 +1910,7 @@ typedef struct { TPMS_AUTH_COMMAND auth; TPML_DIGEST_VALUES digests; } PCR_Extend_In; -WOLFSSL_API TPM_RC TPM2_PCR_Extend(PCR_Extend_In* in); +WOLFTPM_API TPM_RC TPM2_PCR_Extend(PCR_Extend_In* in); typedef struct { @@ -1927,7 +1928,7 @@ typedef struct { TPM2B_DIGEST creationHash; TPMT_TK_CREATION creationTicket; } Create_Out; -WOLFSSL_API TPM_RC TPM2_Create(Create_In* in, Create_Out* out); +WOLFTPM_API TPM_RC TPM2_Create(Create_In* in, Create_Out* out); typedef struct { TPMI_DH_OBJECT parentHandle; @@ -1941,7 +1942,7 @@ typedef struct { TPM2B_PUBLIC outPublic; TPM2B_NAME name; } CreateLoaded_Out; -WOLFSSL_API TPM_RC TPM2_CreateLoaded(CreateLoaded_In* in, +WOLFTPM_API TPM_RC TPM2_CreateLoaded(CreateLoaded_In* in, CreateLoaded_Out* out); @@ -1960,7 +1961,7 @@ typedef struct { TPMT_TK_CREATION creationTicket; TPM2B_NAME name; } CreatePrimary_Out; -WOLFSSL_API TPM_RC TPM2_CreatePrimary(CreatePrimary_In* in, +WOLFTPM_API TPM_RC TPM2_CreatePrimary(CreatePrimary_In* in, CreatePrimary_Out* out); typedef struct { @@ -1973,13 +1974,13 @@ typedef struct { TPM_HANDLE objectHandle; TPM2B_NAME name; } Load_Out; -WOLFSSL_API TPM_RC TPM2_Load(Load_In* in, Load_Out* out); +WOLFTPM_API TPM_RC TPM2_Load(Load_In* in, Load_Out* out); typedef struct { TPMI_DH_CONTEXT flushHandle; } FlushContext_In; -WOLFSSL_API TPM_RC TPM2_FlushContext(FlushContext_In* in); +WOLFTPM_API TPM_RC TPM2_FlushContext(FlushContext_In* in); typedef struct { @@ -1989,7 +1990,7 @@ typedef struct { typedef struct { TPM2B_SENSITIVE_DATA outData; } Unseal_Out; -WOLFSSL_API TPM_RC TPM2_Unseal(Unseal_In* in, Unseal_Out* out); +WOLFTPM_API TPM_RC TPM2_Unseal(Unseal_In* in, Unseal_Out* out); typedef struct { @@ -2005,13 +2006,13 @@ typedef struct { TPMI_SH_AUTH_SESSION sessionHandle; TPM2B_NONCE nonceTPM; } StartAuthSession_Out; -WOLFSSL_API TPM_RC TPM2_StartAuthSession(StartAuthSession_In* in, +WOLFTPM_API TPM_RC TPM2_StartAuthSession(StartAuthSession_In* in, StartAuthSession_Out* out); typedef struct { TPMI_SH_POLICY sessionHandle; } PolicyRestart_In; -WOLFSSL_API TPM_RC TPM2_PolicyRestart(PolicyRestart_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyRestart(PolicyRestart_In* in); typedef struct { @@ -2023,7 +2024,7 @@ typedef struct { TPM_HANDLE objectHandle; TPM2B_NAME name; } LoadExternal_Out; -WOLFSSL_API TPM_RC TPM2_LoadExternal(LoadExternal_In* in, +WOLFTPM_API TPM_RC TPM2_LoadExternal(LoadExternal_In* in, LoadExternal_Out* out); typedef struct { @@ -2034,7 +2035,7 @@ typedef struct { TPM2B_NAME name; TPM2B_NAME qualifiedName; } ReadPublic_Out; -WOLFSSL_API TPM_RC TPM2_ReadPublic(ReadPublic_In* in, ReadPublic_Out* out); +WOLFTPM_API TPM_RC TPM2_ReadPublic(ReadPublic_In* in, ReadPublic_Out* out); typedef struct { TPMI_DH_OBJECT activateHandle; @@ -2045,7 +2046,7 @@ typedef struct { typedef struct { TPM2B_DIGEST certInfo; } ActivateCredential_Out; -WOLFSSL_API TPM_RC TPM2_ActivateCredential(ActivateCredential_In* in, +WOLFTPM_API TPM_RC TPM2_ActivateCredential(ActivateCredential_In* in, ActivateCredential_Out* out); typedef struct { @@ -2057,7 +2058,7 @@ typedef struct { TPM2B_ID_OBJECT credentialBlob; TPM2B_ENCRYPTED_SECRET secret; } MakeCredential_Out; -WOLFSSL_API TPM_RC TPM2_MakeCredential(MakeCredential_In* in, +WOLFTPM_API TPM_RC TPM2_MakeCredential(MakeCredential_In* in, MakeCredential_Out* out); typedef struct { @@ -2068,7 +2069,7 @@ typedef struct { typedef struct { TPM2B_PRIVATE outPrivate; } ObjectChangeAuth_Out; -WOLFSSL_API TPM_RC TPM2_ObjectChangeAuth(ObjectChangeAuth_In* in, +WOLFTPM_API TPM_RC TPM2_ObjectChangeAuth(ObjectChangeAuth_In* in, ObjectChangeAuth_Out* out); @@ -2083,7 +2084,7 @@ typedef struct { TPM2B_PRIVATE duplicate; TPM2B_ENCRYPTED_SECRET outSymSeed; } Duplicate_Out; -WOLFSSL_API TPM_RC TPM2_Duplicate(Duplicate_In* in, Duplicate_Out* out); +WOLFTPM_API TPM_RC TPM2_Duplicate(Duplicate_In* in, Duplicate_Out* out); typedef struct { TPMI_DH_OBJECT oldParent; @@ -2096,7 +2097,7 @@ typedef struct { TPM2B_PRIVATE outDuplicate; TPM2B_ENCRYPTED_SECRET outSymSeed; } Rewrap_Out; -WOLFSSL_API TPM_RC TPM2_Rewrap(Rewrap_In* in, Rewrap_Out* out); +WOLFTPM_API TPM_RC TPM2_Rewrap(Rewrap_In* in, Rewrap_Out* out); typedef struct { TPMI_DH_OBJECT parentHandle; @@ -2109,7 +2110,7 @@ typedef struct { typedef struct { TPM2B_PRIVATE outPrivate; } Import_Out; -WOLFSSL_API TPM_RC TPM2_Import(Import_In* in, Import_Out* out); +WOLFTPM_API TPM_RC TPM2_Import(Import_In* in, Import_Out* out); typedef struct { TPMI_DH_OBJECT keyHandle; @@ -2120,7 +2121,7 @@ typedef struct { typedef struct { TPM2B_PUBLIC_KEY_RSA outData; } RSA_Encrypt_Out; -WOLFSSL_API TPM_RC TPM2_RSA_Encrypt(RSA_Encrypt_In* in, RSA_Encrypt_Out* out); +WOLFTPM_API TPM_RC TPM2_RSA_Encrypt(RSA_Encrypt_In* in, RSA_Encrypt_Out* out); typedef struct { @@ -2132,7 +2133,7 @@ typedef struct { typedef struct { TPM2B_PUBLIC_KEY_RSA message; } RSA_Decrypt_Out; -WOLFSSL_API TPM_RC TPM2_RSA_Decrypt(RSA_Decrypt_In* in, RSA_Decrypt_Out* out); +WOLFTPM_API TPM_RC TPM2_RSA_Decrypt(RSA_Decrypt_In* in, RSA_Decrypt_Out* out); typedef struct { @@ -2142,7 +2143,7 @@ typedef struct { TPM2B_ECC_POINT zPoint; TPM2B_ECC_POINT pubPoint; } ECDH_KeyGen_Out; -WOLFSSL_API TPM_RC TPM2_ECDH_KeyGen(ECDH_KeyGen_In* in, ECDH_KeyGen_Out* out); +WOLFTPM_API TPM_RC TPM2_ECDH_KeyGen(ECDH_KeyGen_In* in, ECDH_KeyGen_Out* out); typedef struct { @@ -2152,7 +2153,7 @@ typedef struct { typedef struct { TPM2B_ECC_POINT outPoint; } ECDH_ZGen_Out; -WOLFSSL_API TPM_RC TPM2_ECDH_ZGen(ECDH_ZGen_In* in, ECDH_ZGen_Out* out); +WOLFTPM_API TPM_RC TPM2_ECDH_ZGen(ECDH_ZGen_In* in, ECDH_ZGen_Out* out); typedef struct { TPMI_ECC_CURVE curveID; @@ -2160,7 +2161,7 @@ typedef struct { typedef struct { TPMS_ALGORITHM_DETAIL_ECC parameters; } ECC_Parameters_Out; -WOLFSSL_API TPM_RC TPM2_ECC_Parameters(ECC_Parameters_In* in, +WOLFTPM_API TPM_RC TPM2_ECC_Parameters(ECC_Parameters_In* in, ECC_Parameters_Out* out); typedef struct { @@ -2174,7 +2175,7 @@ typedef struct { TPM2B_ECC_POINT outZ1; TPM2B_ECC_POINT outZ2; } ZGen_2Phase_Out; -WOLFSSL_API TPM_RC TPM2_ZGen_2Phase(ZGen_2Phase_In* in, ZGen_2Phase_Out* out); +WOLFTPM_API TPM_RC TPM2_ZGen_2Phase(ZGen_2Phase_In* in, ZGen_2Phase_Out* out); typedef struct { @@ -2188,7 +2189,7 @@ typedef struct { TPM2B_MAX_BUFFER outData; TPM2B_IV ivOut; } EncryptDecrypt_Out; -WOLFSSL_API TPM_RC TPM2_EncryptDecrypt(EncryptDecrypt_In* in, +WOLFTPM_API TPM_RC TPM2_EncryptDecrypt(EncryptDecrypt_In* in, EncryptDecrypt_Out* out); typedef struct { @@ -2202,7 +2203,7 @@ typedef struct { TPM2B_MAX_BUFFER outData; TPM2B_IV ivOut; } EncryptDecrypt2_Out; -WOLFSSL_API TPM_RC TPM2_EncryptDecrypt2(EncryptDecrypt2_In* in, +WOLFTPM_API TPM_RC TPM2_EncryptDecrypt2(EncryptDecrypt2_In* in, EncryptDecrypt2_Out* out); @@ -2215,7 +2216,7 @@ typedef struct { TPM2B_DIGEST outHash; TPMT_TK_HASHCHECK validation; } Hash_Out; -WOLFSSL_API TPM_RC TPM2_Hash(Hash_In* in, Hash_Out* out); +WOLFTPM_API TPM_RC TPM2_Hash(Hash_In* in, Hash_Out* out); typedef struct { TPMI_DH_OBJECT handle; @@ -2225,7 +2226,7 @@ typedef struct { typedef struct { TPM2B_DIGEST outHMAC; } HMAC_Out; -WOLFSSL_API TPM_RC TPM2_HMAC(HMAC_In* in, HMAC_Out* out); +WOLFTPM_API TPM_RC TPM2_HMAC(HMAC_In* in, HMAC_Out* out); typedef struct { @@ -2236,7 +2237,7 @@ typedef struct { typedef struct { TPMI_DH_OBJECT sequenceHandle; } HMAC_Start_Out; -WOLFSSL_API TPM_RC TPM2_HMAC_Start(HMAC_Start_In* in, HMAC_Start_Out* out); +WOLFTPM_API TPM_RC TPM2_HMAC_Start(HMAC_Start_In* in, HMAC_Start_Out* out); typedef struct { @@ -2246,14 +2247,14 @@ typedef struct { typedef struct { TPMI_DH_OBJECT sequenceHandle; } HashSequenceStart_Out; -WOLFSSL_API TPM_RC TPM2_HashSequenceStart(HashSequenceStart_In* in, +WOLFTPM_API TPM_RC TPM2_HashSequenceStart(HashSequenceStart_In* in, HashSequenceStart_Out* out); typedef struct { TPMI_DH_OBJECT sequenceHandle; TPM2B_MAX_BUFFER buffer; } SequenceUpdate_In; -WOLFSSL_API TPM_RC TPM2_SequenceUpdate(SequenceUpdate_In* in); +WOLFTPM_API TPM_RC TPM2_SequenceUpdate(SequenceUpdate_In* in); typedef struct { TPMI_DH_OBJECT sequenceHandle; @@ -2264,7 +2265,7 @@ typedef struct { TPM2B_DIGEST result; TPMT_TK_HASHCHECK validation; } SequenceComplete_Out; -WOLFSSL_API TPM_RC TPM2_SequenceComplete(SequenceComplete_In* in, +WOLFTPM_API TPM_RC TPM2_SequenceComplete(SequenceComplete_In* in, SequenceComplete_Out* out); @@ -2276,7 +2277,7 @@ typedef struct { typedef struct { TPML_DIGEST_VALUES results; } EventSequenceComplete_Out; -WOLFSSL_API TPM_RC TPM2_EventSequenceComplete(EventSequenceComplete_In* in, +WOLFTPM_API TPM_RC TPM2_EventSequenceComplete(EventSequenceComplete_In* in, EventSequenceComplete_Out* out); @@ -2290,7 +2291,7 @@ typedef struct { TPM2B_ATTEST certifyInfo; TPMT_SIGNATURE signature; } Certify_Out; -WOLFSSL_API TPM_RC TPM2_Certify(Certify_In* in, Certify_Out* out); +WOLFTPM_API TPM_RC TPM2_Certify(Certify_In* in, Certify_Out* out); typedef struct { @@ -2305,7 +2306,7 @@ typedef struct { TPM2B_ATTEST certifyInfo; TPMT_SIGNATURE signature; } CertifyCreation_Out; -WOLFSSL_API TPM_RC TPM2_CertifyCreation(CertifyCreation_In* in, CertifyCreation_Out* out); +WOLFTPM_API TPM_RC TPM2_CertifyCreation(CertifyCreation_In* in, CertifyCreation_Out* out); typedef struct { @@ -2318,7 +2319,7 @@ typedef struct { TPM2B_ATTEST quoted; TPMT_SIGNATURE signature; } Quote_Out; -WOLFSSL_API TPM_RC TPM2_Quote(Quote_In* in, Quote_Out* out); +WOLFTPM_API TPM_RC TPM2_Quote(Quote_In* in, Quote_Out* out); typedef struct { TPMI_RH_ENDORSEMENT privacyAdminHandle; @@ -2331,7 +2332,7 @@ typedef struct { TPM2B_ATTEST auditInfo; TPMT_SIGNATURE signature; } GetSessionAuditDigest_Out; -WOLFSSL_API TPM_RC TPM2_GetSessionAuditDigest(GetSessionAuditDigest_In* in, +WOLFTPM_API TPM_RC TPM2_GetSessionAuditDigest(GetSessionAuditDigest_In* in, GetSessionAuditDigest_Out* out); typedef struct { @@ -2344,7 +2345,7 @@ typedef struct { TPM2B_ATTEST auditInfo; TPMT_SIGNATURE signature; } GetCommandAuditDigest_Out; -WOLFSSL_API TPM_RC TPM2_GetCommandAuditDigest(GetCommandAuditDigest_In* in, +WOLFTPM_API TPM_RC TPM2_GetCommandAuditDigest(GetCommandAuditDigest_In* in, GetCommandAuditDigest_Out* out); typedef struct { @@ -2357,7 +2358,7 @@ typedef struct { TPM2B_ATTEST timeInfo; TPMT_SIGNATURE signature; } GetTime_Out; -WOLFSSL_API TPM_RC TPM2_GetTime(GetTime_In* in, GetTime_Out* out); +WOLFTPM_API TPM_RC TPM2_GetTime(GetTime_In* in, GetTime_Out* out); typedef struct { TPMI_DH_OBJECT signHandle; @@ -2371,7 +2372,7 @@ typedef struct { TPM2B_ECC_POINT E; UINT16 counter; } Commit_Out; -WOLFSSL_API TPM_RC TPM2_Commit(Commit_In* in, Commit_Out* out); +WOLFTPM_API TPM_RC TPM2_Commit(Commit_In* in, Commit_Out* out); typedef struct { @@ -2381,7 +2382,7 @@ typedef struct { TPM2B_ECC_POINT Q; UINT16 counter; } EC_Ephemeral_Out; -WOLFSSL_API TPM_RC TPM2_EC_Ephemeral(EC_Ephemeral_In* in, +WOLFTPM_API TPM_RC TPM2_EC_Ephemeral(EC_Ephemeral_In* in, EC_Ephemeral_Out* out); typedef struct { @@ -2392,7 +2393,7 @@ typedef struct { typedef struct { TPMT_TK_VERIFIED validation; } VerifySignature_Out; -WOLFSSL_API TPM_RC TPM2_VerifySignature(VerifySignature_In* in, +WOLFTPM_API TPM_RC TPM2_VerifySignature(VerifySignature_In* in, VerifySignature_Out* out); @@ -2405,7 +2406,7 @@ typedef struct { typedef struct { TPMT_SIGNATURE signature; } Sign_Out; -WOLFSSL_API TPM_RC TPM2_Sign(Sign_In* in, Sign_Out* out); +WOLFTPM_API TPM_RC TPM2_Sign(Sign_In* in, Sign_Out* out); typedef struct { @@ -2414,7 +2415,7 @@ typedef struct { TPML_CC setList; TPML_CC clearList; } SetCommandCodeAuditStatus_In; -WOLFSSL_API TPM_RC TPM2_SetCommandCodeAuditStatus( +WOLFTPM_API TPM_RC TPM2_SetCommandCodeAuditStatus( SetCommandCodeAuditStatus_In* in); @@ -2425,7 +2426,7 @@ typedef struct { typedef struct { TPML_DIGEST_VALUES digests; } PCR_Event_Out; -WOLFSSL_API TPM_RC TPM2_PCR_Event(PCR_Event_In* in, PCR_Event_Out* out); +WOLFTPM_API TPM_RC TPM2_PCR_Event(PCR_Event_In* in, PCR_Event_Out* out); typedef struct { @@ -2438,7 +2439,7 @@ typedef struct { UINT32 sizeNeeded; UINT32 sizeAvailable; } PCR_Allocate_Out; -WOLFSSL_API TPM_RC TPM2_PCR_Allocate(PCR_Allocate_In* in, +WOLFTPM_API TPM_RC TPM2_PCR_Allocate(PCR_Allocate_In* in, PCR_Allocate_Out* out); typedef struct { @@ -2447,18 +2448,18 @@ typedef struct { TPMI_ALG_HASH hashAlg; TPMI_DH_PCR pcrNum; } PCR_SetAuthPolicy_In; -WOLFSSL_API TPM_RC TPM2_PCR_SetAuthPolicy(PCR_SetAuthPolicy_In* in); +WOLFTPM_API TPM_RC TPM2_PCR_SetAuthPolicy(PCR_SetAuthPolicy_In* in); typedef struct { TPMI_DH_PCR pcrHandle; TPM2B_DIGEST auth; } PCR_SetAuthValue_In; -WOLFSSL_API TPM_RC TPM2_PCR_SetAuthValue(PCR_SetAuthValue_In* in); +WOLFTPM_API TPM_RC TPM2_PCR_SetAuthValue(PCR_SetAuthValue_In* in); typedef struct { TPMI_DH_PCR pcrHandle; } PCR_Reset_In; -WOLFSSL_API TPM_RC TPM2_PCR_Reset(PCR_Reset_In* in); +WOLFTPM_API TPM_RC TPM2_PCR_Reset(PCR_Reset_In* in); typedef struct { @@ -2474,7 +2475,7 @@ typedef struct { TPM2B_TIMEOUT timeout; TPMT_TK_AUTH policyTicket; } PolicySigned_Out; -WOLFSSL_API TPM_RC TPM2_PolicySigned(PolicySigned_In* in, +WOLFTPM_API TPM_RC TPM2_PolicySigned(PolicySigned_In* in, PolicySigned_Out* out); typedef struct { @@ -2489,7 +2490,7 @@ typedef struct { TPM2B_TIMEOUT timeout; TPMT_TK_AUTH policyTicket; } PolicySecret_Out; -WOLFSSL_API TPM_RC TPM2_PolicySecret(PolicySecret_In* in, +WOLFTPM_API TPM_RC TPM2_PolicySecret(PolicySecret_In* in, PolicySecret_Out* out); typedef struct { @@ -2500,26 +2501,26 @@ typedef struct { TPM2B_NAME authName; TPMT_TK_AUTH ticket; } PolicyTicket_In; -WOLFSSL_API TPM_RC TPM2_PolicyTicket(PolicyTicket_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyTicket(PolicyTicket_In* in); typedef struct { TPMI_SH_POLICY policySession; TPML_DIGEST pHashList; } PolicyOR_In; -WOLFSSL_API TPM_RC TPM2_PolicyOR(PolicyOR_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyOR(PolicyOR_In* in); typedef struct { TPMI_SH_POLICY policySession; TPM2B_DIGEST pcrDigest; TPML_PCR_SELECTION pcrs; } PolicyPCR_In; -WOLFSSL_API TPM_RC TPM2_PolicyPCR(PolicyPCR_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyPCR(PolicyPCR_In* in); typedef struct { TPMI_SH_POLICY policySession; TPMA_LOCALITY locality; } PolicyLocality_In; -WOLFSSL_API TPM_RC TPM2_PolicyLocality(PolicyLocality_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyLocality(PolicyLocality_In* in); typedef struct { TPMI_RH_NV_AUTH authHandle; @@ -2529,7 +2530,7 @@ typedef struct { UINT16 offset; TPM_EO operation; } PolicyNV_In; -WOLFSSL_API TPM_RC TPM2_PolicyNV(PolicyNV_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyNV(PolicyNV_In* in); typedef struct { TPMI_SH_POLICY policySession; @@ -2537,30 +2538,30 @@ typedef struct { UINT16 offset; TPM_EO operation; } PolicyCounterTimer_In; -WOLFSSL_API TPM_RC TPM2_PolicyCounterTimer(PolicyCounterTimer_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyCounterTimer(PolicyCounterTimer_In* in); typedef struct { TPMI_SH_POLICY policySession; TPM_CC code; } PolicyCommandCode_In; -WOLFSSL_API TPM_RC TPM2_PolicyCommandCode(PolicyCommandCode_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyCommandCode(PolicyCommandCode_In* in); typedef struct { TPMI_SH_POLICY policySession; } PolicyPhysicalPresence_In; -WOLFSSL_API TPM_RC TPM2_PolicyPhysicalPresence(PolicyPhysicalPresence_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyPhysicalPresence(PolicyPhysicalPresence_In* in); typedef struct { TPMI_SH_POLICY policySession; TPM2B_DIGEST cpHashA; } PolicyCpHash_In; -WOLFSSL_API TPM_RC TPM2_PolicyCpHash(PolicyCpHash_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyCpHash(PolicyCpHash_In* in); typedef struct { TPMI_SH_POLICY policySession; TPM2B_DIGEST nameHash; } PolicyNameHash_In; -WOLFSSL_API TPM_RC TPM2_PolicyNameHash(PolicyNameHash_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyNameHash(PolicyNameHash_In* in); typedef struct { TPMI_SH_POLICY policySession; @@ -2568,7 +2569,7 @@ typedef struct { TPM2B_NAME newParentName; TPMI_YES_NO includeObject; } PolicyDuplicationSelect_In; -WOLFSSL_API TPM_RC TPM2_PolicyDuplicationSelect(PolicyDuplicationSelect_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyDuplicationSelect(PolicyDuplicationSelect_In* in); typedef struct { TPMI_SH_POLICY policySession; @@ -2577,17 +2578,17 @@ typedef struct { TPM2B_NAME keySign; TPMT_TK_VERIFIED checkTicket; } PolicyAuthorize_In; -WOLFSSL_API TPM_RC TPM2_PolicyAuthorize(PolicyAuthorize_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyAuthorize(PolicyAuthorize_In* in); typedef struct { TPMI_SH_POLICY policySession; } PolicyAuthValue_In; -WOLFSSL_API TPM_RC TPM2_PolicyAuthValue(PolicyAuthValue_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyAuthValue(PolicyAuthValue_In* in); typedef struct { TPMI_SH_POLICY policySession; } PolicyPassword_In; -WOLFSSL_API TPM_RC TPM2_PolicyPassword(PolicyPassword_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyPassword(PolicyPassword_In* in); typedef struct { TPMI_SH_POLICY policySession; @@ -2595,32 +2596,32 @@ typedef struct { typedef struct { TPM2B_DIGEST policyDigest; } PolicyGetDigest_Out; -WOLFSSL_API TPM_RC TPM2_PolicyGetDigest(PolicyGetDigest_In* in, PolicyGetDigest_Out* out); +WOLFTPM_API TPM_RC TPM2_PolicyGetDigest(PolicyGetDigest_In* in, PolicyGetDigest_Out* out); typedef struct { TPMI_SH_POLICY policySession; TPMI_YES_NO writtenSet; } PolicyNvWritten_In; -WOLFSSL_API TPM_RC TPM2_PolicyNvWritten(PolicyNvWritten_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyNvWritten(PolicyNvWritten_In* in); typedef struct { TPMI_SH_POLICY policySession; TPM2B_DIGEST templateHash; } PolicyTemplate_In; -WOLFSSL_API TPM_RC TPM2_PolicyTemplate(PolicyTemplate_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyTemplate(PolicyTemplate_In* in); typedef struct { TPMI_RH_NV_AUTH authHandle; TPMI_RH_NV_INDEX nvIndex; TPMI_SH_POLICY policySession; } PolicyAuthorizeNV_In; -WOLFSSL_API TPM_RC TPM2_PolicyAuthorizeNV(PolicyAuthorizeNV_In* in); +WOLFTPM_API TPM_RC TPM2_PolicyAuthorizeNV(PolicyAuthorizeNV_In* in); -WOLFSSL_API void _TPM_Hash_Start(void); -WOLFSSL_API void _TPM_Hash_Data(UINT32 dataSize, BYTE *data); -WOLFSSL_API void _TPM_Hash_End(void); +WOLFTPM_API void _TPM_Hash_Start(void); +WOLFTPM_API void _TPM_Hash_Data(UINT32 dataSize, BYTE *data); +WOLFTPM_API void _TPM_Hash_End(void); typedef struct { @@ -2628,48 +2629,48 @@ typedef struct { TPMI_RH_ENABLES enable; TPMI_YES_NO state; } HierarchyControl_In; -WOLFSSL_API TPM_RC TPM2_HierarchyControl(HierarchyControl_In* in); +WOLFTPM_API TPM_RC TPM2_HierarchyControl(HierarchyControl_In* in); typedef struct { TPMI_RH_HIERARCHY_AUTH authHandle; TPM2B_DIGEST authPolicy; TPMI_ALG_HASH hashAlg; } SetPrimaryPolicy_In; -WOLFSSL_API TPM_RC TPM2_SetPrimaryPolicy(SetPrimaryPolicy_In* in); +WOLFTPM_API TPM_RC TPM2_SetPrimaryPolicy(SetPrimaryPolicy_In* in); typedef struct { TPMI_RH_PLATFORM authHandle; } ChangePPS_In; -WOLFSSL_API TPM_RC TPM2_ChangePPS(ChangePPS_In* in); +WOLFTPM_API TPM_RC TPM2_ChangePPS(ChangePPS_In* in); typedef struct { TPMI_RH_PLATFORM authHandle; } ChangeEPS_In; -WOLFSSL_API TPM_RC TPM2_ChangeEPS(ChangeEPS_In* in); +WOLFTPM_API TPM_RC TPM2_ChangeEPS(ChangeEPS_In* in); typedef struct { TPMI_RH_CLEAR authHandle; } Clear_In; -WOLFSSL_API TPM_RC TPM2_Clear(Clear_In* in); +WOLFTPM_API TPM_RC TPM2_Clear(Clear_In* in); typedef struct { TPMI_RH_CLEAR auth; TPMI_YES_NO disable; } ClearControl_In; -WOLFSSL_API TPM_RC TPM2_ClearControl(ClearControl_In* in); +WOLFTPM_API TPM_RC TPM2_ClearControl(ClearControl_In* in); typedef struct { TPMI_RH_HIERARCHY_AUTH authHandle; TPM2B_AUTH newAuth; } HierarchyChangeAuth_In; -WOLFSSL_API TPM_RC TPM2_HierarchyChangeAuth(HierarchyChangeAuth_In* in); +WOLFTPM_API TPM_RC TPM2_HierarchyChangeAuth(HierarchyChangeAuth_In* in); typedef struct { TPMI_RH_LOCKOUT lockHandle; } DictionaryAttackLockReset_In; -WOLFSSL_API TPM_RC TPM2_DictionaryAttackLockReset(DictionaryAttackLockReset_In* in); +WOLFTPM_API TPM_RC TPM2_DictionaryAttackLockReset(DictionaryAttackLockReset_In* in); typedef struct { TPMI_RH_LOCKOUT lockHandle; @@ -2677,7 +2678,7 @@ typedef struct { UINT32 newRecoveryTime; UINT32 lockoutRecovery; } DictionaryAttackParameters_In; -WOLFSSL_API TPM_RC TPM2_DictionaryAttackParameters(DictionaryAttackParameters_In* in); +WOLFTPM_API TPM_RC TPM2_DictionaryAttackParameters(DictionaryAttackParameters_In* in); typedef struct { @@ -2685,13 +2686,13 @@ typedef struct { TPML_CC setList; TPML_CC clearList; } PP_Commands_In; -WOLFSSL_API TPM_RC TPM2_PP_Commands(PP_Commands_In* in); +WOLFTPM_API TPM_RC TPM2_PP_Commands(PP_Commands_In* in); typedef struct { TPMI_RH_PLATFORM authHandle; UINT32 algorithmSet; } SetAlgorithmSet_In; -WOLFSSL_API TPM_RC TPM2_SetAlgorithmSet(SetAlgorithmSet_In* in); +WOLFTPM_API TPM_RC TPM2_SetAlgorithmSet(SetAlgorithmSet_In* in); typedef struct { TPMI_RH_PLATFORM authorization; @@ -2699,7 +2700,7 @@ typedef struct { TPM2B_DIGEST fuDigest; TPMT_SIGNATURE manifestSignature; } FieldUpgradeStart_In; -WOLFSSL_API TPM_RC TPM2_FieldUpgradeStart(FieldUpgradeStart_In* in); +WOLFTPM_API TPM_RC TPM2_FieldUpgradeStart(FieldUpgradeStart_In* in); typedef struct { TPM2B_MAX_BUFFER fuData; @@ -2708,7 +2709,7 @@ typedef struct { TPMT_HA nextDigest; TPMT_HA firstDigest; } FieldUpgradeData_Out; -WOLFSSL_API TPM_RC TPM2_FieldUpgradeData(FieldUpgradeData_In* in, +WOLFTPM_API TPM_RC TPM2_FieldUpgradeData(FieldUpgradeData_In* in, FieldUpgradeData_Out* out); typedef struct { @@ -2717,7 +2718,7 @@ typedef struct { typedef struct { TPM2B_MAX_BUFFER fuData; } FirmwareRead_Out; -WOLFSSL_API TPM_RC TPM2_FirmwareRead(FirmwareRead_In* in, FirmwareRead_Out* out); +WOLFTPM_API TPM_RC TPM2_FirmwareRead(FirmwareRead_In* in, FirmwareRead_Out* out); typedef struct { @@ -2726,7 +2727,7 @@ typedef struct { typedef struct { TPMS_CONTEXT context; } ContextSave_Out; -WOLFSSL_API TPM_RC TPM2_ContextSave(ContextSave_In* in, ContextSave_Out* out); +WOLFTPM_API TPM_RC TPM2_ContextSave(ContextSave_In* in, ContextSave_Out* out); typedef struct { TPMS_CONTEXT context; @@ -2734,7 +2735,7 @@ typedef struct { typedef struct { TPMI_DH_CONTEXT loadedHandle; } ContextLoad_Out; -WOLFSSL_API TPM_RC TPM2_ContextLoad(ContextLoad_In* in, ContextLoad_Out* out); +WOLFTPM_API TPM_RC TPM2_ContextLoad(ContextLoad_In* in, ContextLoad_Out* out); typedef struct { @@ -2742,31 +2743,31 @@ typedef struct { TPMI_DH_OBJECT objectHandle; TPMI_DH_PERSISTENT persistentHandle; } EvictControl_In; -WOLFSSL_API TPM_RC TPM2_EvictControl(EvictControl_In* in); +WOLFTPM_API TPM_RC TPM2_EvictControl(EvictControl_In* in); typedef struct { TPMS_TIME_INFO currentTime; } ReadClock_Out; -WOLFSSL_API TPM_RC TPM2_ReadClock(ReadClock_Out* out); +WOLFTPM_API TPM_RC TPM2_ReadClock(ReadClock_Out* out); typedef struct { TPMI_RH_PROVISION auth; UINT64 newTime; } ClockSet_In; -WOLFSSL_API TPM_RC TPM2_ClockSet(ClockSet_In* in); +WOLFTPM_API TPM_RC TPM2_ClockSet(ClockSet_In* in); typedef struct { TPMI_RH_PROVISION auth; TPM_CLOCK_ADJUST rateAdjust; } ClockRateAdjust_In; -WOLFSSL_API TPM_RC TPM2_ClockRateAdjust(ClockRateAdjust_In* in); +WOLFTPM_API TPM_RC TPM2_ClockRateAdjust(ClockRateAdjust_In* in); typedef struct { TPMT_PUBLIC_PARMS parameters; } TestParms_In; -WOLFSSL_API TPM_RC TPM2_TestParms(TestParms_In* in); +WOLFTPM_API TPM_RC TPM2_TestParms(TestParms_In* in); typedef struct { @@ -2774,19 +2775,19 @@ typedef struct { TPM2B_AUTH auth; TPM2B_NV_PUBLIC publicInfo; } NV_DefineSpace_In; -WOLFSSL_API TPM_RC TPM2_NV_DefineSpace(NV_DefineSpace_In* in); +WOLFTPM_API TPM_RC TPM2_NV_DefineSpace(NV_DefineSpace_In* in); typedef struct { TPMI_RH_PROVISION authHandle; TPMI_RH_NV_INDEX nvIndex; } NV_UndefineSpace_In; -WOLFSSL_API TPM_RC TPM2_NV_UndefineSpace(NV_UndefineSpace_In* in); +WOLFTPM_API TPM_RC TPM2_NV_UndefineSpace(NV_UndefineSpace_In* in); typedef struct { TPMI_RH_NV_INDEX nvIndex; TPMI_RH_PLATFORM platform; } NV_UndefineSpaceSpecial_In; -WOLFSSL_API TPM_RC TPM2_NV_UndefineSpaceSpecial(NV_UndefineSpaceSpecial_In* in); +WOLFTPM_API TPM_RC TPM2_NV_UndefineSpaceSpecial(NV_UndefineSpaceSpecial_In* in); typedef struct { TPMI_RH_NV_INDEX nvIndex; @@ -2795,7 +2796,7 @@ typedef struct { TPM2B_NV_PUBLIC nvPublic; TPM2B_NAME nvName; } NV_ReadPublic_Out; -WOLFSSL_API TPM_RC TPM2_NV_ReadPublic(NV_ReadPublic_In* in, NV_ReadPublic_Out* out); +WOLFTPM_API TPM_RC TPM2_NV_ReadPublic(NV_ReadPublic_In* in, NV_ReadPublic_Out* out); typedef struct { TPMI_RH_NV_AUTH authHandle; @@ -2803,38 +2804,38 @@ typedef struct { TPM2B_MAX_NV_BUFFER data; UINT16 offset; } NV_Write_In; -WOLFSSL_API TPM_RC TPM2_NV_Write(NV_Write_In* in); +WOLFTPM_API TPM_RC TPM2_NV_Write(NV_Write_In* in); typedef struct { TPMI_RH_NV_AUTH authHandle; TPMI_RH_NV_INDEX nvIndex; } NV_Increment_In; -WOLFSSL_API TPM_RC TPM2_NV_Increment(NV_Increment_In* in); +WOLFTPM_API TPM_RC TPM2_NV_Increment(NV_Increment_In* in); typedef struct { TPMI_RH_NV_AUTH authHandle; TPMI_RH_NV_INDEX nvIndex; TPM2B_MAX_NV_BUFFER data; } NV_Extend_In; -WOLFSSL_API TPM_RC TPM2_NV_Extend(NV_Extend_In* in); +WOLFTPM_API TPM_RC TPM2_NV_Extend(NV_Extend_In* in); typedef struct { TPMI_RH_NV_AUTH authHandle; TPMI_RH_NV_INDEX nvIndex; UINT64 bits; } NV_SetBits_In; -WOLFSSL_API TPM_RC TPM2_NV_SetBits(NV_SetBits_In* in); +WOLFTPM_API TPM_RC TPM2_NV_SetBits(NV_SetBits_In* in); typedef struct { TPMI_RH_NV_AUTH authHandle; TPMI_RH_NV_INDEX nvIndex; } NV_WriteLock_In; -WOLFSSL_API TPM_RC TPM2_NV_WriteLock(NV_WriteLock_In* in); +WOLFTPM_API TPM_RC TPM2_NV_WriteLock(NV_WriteLock_In* in); typedef struct { TPMI_RH_PROVISION authHandle; } NV_GlobalWriteLock_In; -WOLFSSL_API TPM_RC TPM2_NV_GlobalWriteLock(NV_GlobalWriteLock_In* in); +WOLFTPM_API TPM_RC TPM2_NV_GlobalWriteLock(NV_GlobalWriteLock_In* in); typedef struct { TPMI_RH_NV_AUTH authHandle; @@ -2845,19 +2846,19 @@ typedef struct { typedef struct { TPM2B_MAX_NV_BUFFER data; } NV_Read_Out; -WOLFSSL_API TPM_RC TPM2_NV_Read(NV_Read_In* in, NV_Read_Out* out); +WOLFTPM_API TPM_RC TPM2_NV_Read(NV_Read_In* in, NV_Read_Out* out); typedef struct { TPMI_RH_NV_AUTH authHandle; TPMI_RH_NV_INDEX nvIndex; } NV_ReadLock_In; -WOLFSSL_API TPM_RC TPM2_NV_ReadLock(NV_ReadLock_In* in); +WOLFTPM_API TPM_RC TPM2_NV_ReadLock(NV_ReadLock_In* in); typedef struct { TPMI_RH_NV_INDEX nvIndex; TPM2B_AUTH newAuth; } NV_ChangeAuth_In; -WOLFSSL_API TPM_RC TPM2_NV_ChangeAuth(NV_ChangeAuth_In* in); +WOLFTPM_API TPM_RC TPM2_NV_ChangeAuth(NV_ChangeAuth_In* in); typedef struct { TPMI_DH_OBJECT signHandle; @@ -2872,13 +2873,13 @@ typedef struct { TPM2B_ATTEST certifyInfo; TPMT_SIGNATURE signature; } NV_Certify_Out; -WOLFSSL_API TPM_RC TPM2_NV_Certify(NV_Certify_In* in, NV_Certify_Out* out); +WOLFTPM_API TPM_RC TPM2_NV_Certify(NV_Certify_In* in, NV_Certify_Out* out); /* Helper API's - Not based on spec */ -WOLFSSL_API int TPM2_GetHashDigestSize(TPMI_ALG_HASH hashAlg); -WOLFSSL_API const char* TPM2_GetAlgName(TPM_ALG_ID alg); -WOLFSSL_API const char* TPM2_GetRCString(TPM_RC rc); -WOLFSSL_API void TPM2_SetupPCRSel(TPML_PCR_SELECTION* pcr, TPM_ALG_ID alg, int pcrIndex); +WOLFTPM_API int TPM2_GetHashDigestSize(TPMI_ALG_HASH hashAlg); +WOLFTPM_API const char* TPM2_GetAlgName(TPM_ALG_ID alg); +WOLFTPM_API const char* TPM2_GetRCString(TPM_RC rc); +WOLFTPM_API void TPM2_SetupPCRSel(TPML_PCR_SELECTION* pcr, TPM_ALG_ID alg, int pcrIndex); #endif /* __TPM2_H__ */ diff --git a/wolftpm/visibility.h b/wolftpm/visibility.h index ed0d400..6356f5f 100755 --- a/wolftpm/visibility.h +++ b/wolftpm/visibility.h @@ -2,14 +2,14 @@ * * Copyright (C) 2006-2018 wolfSSL Inc. * - * This file is part of wolfMQTT. + * This file is part of wolfTPM. * - * wolfMQTT is free software; you can redistribute it and/or modify + * wolfTPM is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * - * wolfMQTT is distributed in the hope that it will be useful, + * wolfTPM is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. @@ -21,41 +21,41 @@ /* Visibility control macros */ -#ifndef WOLFMQTT_VISIBILITY_H -#define WOLFMQTT_VISIBILITY_H +#ifndef WOLFTPM_VISIBILITY_H +#define WOLFTPM_VISIBILITY_H -/* WOLFMQTT_API is used for the public API symbols. +/* WOLFTPM_API is used for the public API symbols. It either imports or exports (or does nothing for static builds) - WOLFMQTT_LOCAL is used for non-API symbols (private). + WOLFTPM_LOCAL is used for non-API symbols (private). */ -#if defined(BUILDING_WOLFMQTT) +#if defined(BUILDING_WOLFTPM) #if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY - #define WOLFMQTT_API __attribute__ ((visibility("default"))) - #define WOLFMQTT_LOCAL __attribute__ ((visibility("hidden"))) + #define WOLFTPM_API __attribute__ ((visibility("default"))) + #define WOLFTPM_LOCAL __attribute__ ((visibility("hidden"))) #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) - #define WOLFMQTT_API __global - #define WOLFMQTT_LOCAL __hidden + #define WOLFTPM_API __global + #define WOLFTPM_LOCAL __hidden #elif defined(_MSC_VER) #ifdef _WINDLL - #define WOLFMQTT_API __declspec(dllexport) + #define WOLFTPM_API __declspec(dllexport) #else - #define WOLFMQTT_API + #define WOLFTPM_API #endif - #define WOLFMQTT_LOCAL + #define WOLFTPM_LOCAL #else - #define WOLFMQTT_API - #define WOLFMQTT_LOCAL + #define WOLFTPM_API + #define WOLFTPM_LOCAL #endif /* HAVE_VISIBILITY */ -#else /* BUILDING_WOLFMQTT */ +#else /* BUILDING_WOLFTPM */ #if defined(_MSC_VER) - #define WOLFMQTT_API __declspec(dllimport) - #define WOLFMQTT_LOCAL + #define WOLFTPM_API __declspec(dllimport) + #define WOLFTPM_LOCAL #else - #define WOLFMQTT_API - #define WOLFMQTT_LOCAL + #define WOLFTPM_API + #define WOLFTPM_LOCAL #endif -#endif /* BUILDING_WOLFMQTT */ +#endif /* BUILDING_WOLFTPM */ -#endif /* WOLFMQTT_VISIBILITY_H */ +#endif /* WOLFTPM_VISIBILITY_H */