Stefan Berger a529480
From e04b1231ecde605f1fcd2f8ee3b27052b86a17c9 Mon Sep 17 00:00:00 2001
Stefan Berger a529480
From: Stefan Berger <stefanb@linux.vnet.ibm.com>
Stefan Berger a529480
Date: Mon, 14 Jul 2014 17:22:14 -0400
Stefan Berger a529480
Subject: [PATCH 1/2] Fix public header files for c++
Stefan Berger a529480
Stefan Berger a529480
Fix the public header files for c++ usage.
Stefan Berger a529480
---
Stefan Berger a529480
 include/libtpms/tpm_library.h.in | 7 +++++++
Stefan Berger a529480
 include/libtpms/tpm_memory.h     | 9 +++++++++
Stefan Berger a529480
 include/libtpms/tpm_tis.h        | 7 +++++++
Stefan Berger a529480
 include/libtpms/tpm_types.h      | 8 ++++++++
Stefan Berger a529480
 4 files changed, 31 insertions(+)
Stefan Berger a529480
Stefan Berger a529480
diff --git a/include/libtpms/tpm_library.h.in b/include/libtpms/tpm_library.h.in
Stefan Berger a529480
index 3e5ddba..17a0003 100644
Stefan Berger a529480
--- a/include/libtpms/tpm_library.h.in
Stefan Berger a529480
+++ b/include/libtpms/tpm_library.h.in
Stefan Berger a529480
@@ -44,6 +44,10 @@
Stefan Berger a529480
 
Stefan Berger a529480
 #include "tpm_types.h"
Stefan Berger a529480
 
Stefan Berger a529480
+#ifdef __cplusplus
Stefan Berger a529480
+extern "C" {
Stefan Berger a529480
+#endif
Stefan Berger a529480
+
Stefan Berger a529480
 #define TPM_LIBRARY_VER_MAJOR @LIBTPMS_VER_MAJOR@
Stefan Berger a529480
 #define TPM_LIBRARY_VER_MINOR @LIBTPMS_VER_MINOR@
Stefan Berger a529480
 #define TPM_LIBRARY_VER_MICRO @LIBTPMS_VER_MICRO@
Stefan Berger a529480
@@ -124,5 +128,8 @@ enum TPMLIB_BlobType {
Stefan Berger a529480
 TPM_RESULT TPMLIB_DecodeBlob(const char *data, enum TPMLIB_BlobType type,
Stefan Berger a529480
                              unsigned char **result, size_t *result_len);
Stefan Berger a529480
 
Stefan Berger a529480
+#ifdef __cplusplus
Stefan Berger a529480
+}
Stefan Berger a529480
+#endif
Stefan Berger a529480
 
Stefan Berger a529480
 #endif /* TPM_LIBRARY_H */
Stefan Berger a529480
diff --git a/include/libtpms/tpm_memory.h b/include/libtpms/tpm_memory.h
Stefan Berger a529480
index 9317ef6..69d60b4 100644
Stefan Berger a529480
--- a/include/libtpms/tpm_memory.h
Stefan Berger a529480
+++ b/include/libtpms/tpm_memory.h
Stefan Berger a529480
@@ -42,8 +42,17 @@
Stefan Berger a529480
 
Stefan Berger a529480
 #include "tpm_types.h"
Stefan Berger a529480
 
Stefan Berger a529480
+#ifdef __cplusplus
Stefan Berger a529480
+extern "C" {
Stefan Berger a529480
+#endif
Stefan Berger a529480
+
Stefan Berger a529480
 TPM_RESULT TPM_Malloc(unsigned char **buffer, uint32_t size);
Stefan Berger a529480
 TPM_RESULT TPM_Realloc(unsigned char **buffer, uint32_t size);
Stefan Berger a529480
 void       TPM_Free(unsigned char *buffer);
Stefan Berger a529480
 
Stefan Berger a529480
+#ifdef __cplusplus
Stefan Berger a529480
+}
Stefan Berger a529480
+#endif
Stefan Berger a529480
+
Stefan Berger a529480
+
Stefan Berger a529480
 #endif
Stefan Berger a529480
diff --git a/include/libtpms/tpm_tis.h b/include/libtpms/tpm_tis.h
Stefan Berger a529480
index 6d4cf31..2ff30a4 100644
Stefan Berger a529480
--- a/include/libtpms/tpm_tis.h
Stefan Berger a529480
+++ b/include/libtpms/tpm_tis.h
Stefan Berger a529480
@@ -42,6 +42,10 @@
Stefan Berger a529480
 
Stefan Berger a529480
 #include "tpm_types.h"
Stefan Berger a529480
 
Stefan Berger a529480
+#ifdef __cplusplus
Stefan Berger a529480
+extern "C" {
Stefan Berger a529480
+#endif
Stefan Berger a529480
+
Stefan Berger a529480
 TPM_RESULT TPM_IO_Hash_Start(void);
Stefan Berger a529480
 TPM_RESULT TPM_IO_Hash_Data(const unsigned char *data,
Stefan Berger a529480
 			    uint32_t data_length);
Stefan Berger a529480
@@ -49,5 +53,8 @@ TPM_RESULT TPM_IO_Hash_End(void);
Stefan Berger a529480
 
Stefan Berger a529480
 TPM_RESULT TPM_IO_TpmEstablished_Get(TPM_BOOL *tpmEstablished);
Stefan Berger a529480
 
Stefan Berger a529480
+#ifdef __cplusplus
Stefan Berger a529480
+}
Stefan Berger a529480
+#endif
Stefan Berger a529480
 
Stefan Berger a529480
 #endif
Stefan Berger a529480
diff --git a/include/libtpms/tpm_types.h b/include/libtpms/tpm_types.h
Stefan Berger a529480
index ecb109c..6dea326 100644
Stefan Berger a529480
--- a/include/libtpms/tpm_types.h
Stefan Berger a529480
+++ b/include/libtpms/tpm_types.h
Stefan Berger a529480
@@ -46,6 +46,10 @@
Stefan Berger a529480
 #include <netinet/in.h>         /* for byte order conversions */
Stefan Berger a529480
 #endif
Stefan Berger a529480
 
Stefan Berger a529480
+#ifdef __cplusplus
Stefan Berger a529480
+extern "C" {
Stefan Berger a529480
+#endif
Stefan Berger a529480
+
Stefan Berger a529480
 /* 2.2.1 Basic data types rev 87 */
Stefan Berger a529480
 typedef unsigned char  BYTE;            /* Basic byte used to transmit all character fields.  */
Stefan Berger a529480
 typedef unsigned char  TPM_BOOL;        /* TRUE/FALSE field. TRUE = 0x01, FALSE = 0x00 Use TPM_BOOL
Stefan Berger a529480
@@ -135,4 +139,8 @@ typedef uint16_t  TPM_TAG;		/* The command and response tags */
Stefan Berger a529480
 typedef unsigned char *	TPM_SYMMETRIC_KEY_TOKEN;	/* abstract symmetric key token */
Stefan Berger a529480
 typedef unsigned char *	TPM_BIGNUM;			/* abstract bignum */
Stefan Berger a529480
 
Stefan Berger a529480
+#ifdef __cplusplus
Stefan Berger a529480
+}
Stefan Berger a529480
+#endif
Stefan Berger a529480
+
Stefan Berger a529480
 #endif
Stefan Berger a529480
-- 
Stefan Berger a529480
1.8.1.4
Stefan Berger a529480