tpm2: add C++ include support for simulator

So we don't need to use "extern C" in C++ code.

BUG=b:174807059
TEST=Build Ok.
TEST=cd ~/trunk/src/platform/cr50;make BOARD=cr50 -j

Cq-Depend: chromium:2631682
Disallow-Recycled-Builds: test-failures
Change-Id: I91218f10d01b630be46df58d3620c620547ae96a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/tpm2/+/2619240
Tested-by: Yi Chou <yich@google.com>
Commit-Queue: Yi Chou <yich@google.com>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
diff --git a/tpm_simulator.hpp b/tpm_simulator.hpp
new file mode 100644
index 0000000..0968ac8
--- /dev/null
+++ b/tpm_simulator.hpp
@@ -0,0 +1,24 @@
+// Copyright 2021 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.
+
+#ifndef TPM2_TPM_SIMULATOR_H_
+#define TPM2_TPM_SIMULATOR_H_
+
+namespace tpm2 {
+
+extern "C" {
+#include <tpm2/_TPM_Init_fp.h>
+#include <tpm2/BaseTypes.h>
+#include <tpm2/ExecCommand_fp.h>
+#include <tpm2/GetCommandCodeString_fp.h>
+#include <tpm2/Platform.h>
+#include <tpm2/tpm_generated.h>
+#include <tpm2/tpm_manufacture.h>
+#include <tpm2/TpmBuildSwitches.h>
+#include <tpm2/Manufacture_fp.h>  // NOLINT(build/include_alpha) - needs TpmBuildSwitches.h
+}
+
+}  // namespace tpm2
+
+#endif  // TPM2_TPM_SIMULATOR_H_