vboot2: Add official API header file

This is what other firmware should include.  Other firmware must NOT
attempt to include headers from deeper inside the vboot2
implementation; that will likely break as vboot2 is refactored.

BUG=chromium:423882
BRANCH=none
TEST=VBOOT2=1 make runtests

Change-Id: I63638b03bb108296fa5069e7cc32ee9e25183846
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/233050
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
diff --git a/firmware/include/vb2_api.h b/firmware/include/vb2_api.h
new file mode 100644
index 0000000..8b1bc4d
--- /dev/null
+++ b/firmware/include/vb2_api.h
@@ -0,0 +1,30 @@
+/* Copyright (c) 2014 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.
+ */
+
+/* APIs between calling firmware and vboot_reference
+ *
+ * DO NOT INCLUDE THE HEADERS BELOW DIRECTLY!  ONLY INCLUDE THIS FILE!
+ */
+
+#ifndef VBOOT_VB2_API_H_
+#define VBOOT_VB2_API_H_
+
+/* Standard APIs */
+#include "../2lib/include/2api.h"
+
+/*
+ * Coreboot should not need access to vboot2 internals.  But right now it does.
+ * At least this forces it to do so through a relatively narrow hole so vboot2
+ * refactoring can continue.
+ *
+ * Please do not rip this into a wider hole, or expect this hole to continue.
+ *
+ * TODO: Make cleaner APIs to this stuff.
+ */
+#ifdef NEED_VB20_INTERNALS
+#include "../2lib/include/2struct.h"
+#endif
+
+#endif  /* VBOOT_VB2_API_H_ */