[libFuzzer] Expose fuzzer::FuzzerDriver()

Summary:
Allows other-language libFuzzer derivatives to invoke the driver.

Patch By: Ian Eldred Pudney <ipudney@google.com>

Reviewers: morehouse, kcc

Reviewed By: morehouse

Subscribers: #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D84425

GitOrigin-RevId: 22a376e73bc218137738ee4ac8af44e223576475
diff --git a/FuzzerDefs.h b/FuzzerDefs.h
index 1a2752a..fb9eccd 100644
--- a/FuzzerDefs.h
+++ b/FuzzerDefs.h
@@ -20,6 +20,7 @@
 #include <string>
 #include <vector>
 
+#include "FuzzerPlatform.h"
 
 namespace fuzzer {
 
@@ -62,7 +63,8 @@
 typedef Vector<Unit> UnitVector;
 typedef int (*UserCallback)(const uint8_t *Data, size_t Size);
 
-int FuzzerDriver(int *argc, char ***argv, UserCallback Callback);
+ATTRIBUTE_INTERFACE int FuzzerDriver(int *argc, char ***argv,
+                                     UserCallback Callback);
 
 uint8_t *ExtraCountersBegin();
 uint8_t *ExtraCountersEnd();