1 //===- FuzzerInterface.h - Interface header for the Fuzzer ------*- C++ -* ===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // Define the interface between the Fuzzer and the library being tested. 10 //===----------------------------------------------------------------------===// 11 12 #ifndef LLVM_FUZZER_INTERFACE_H 13 #define LLVM_FUZZER_INTERFACE_H 14 15 #include <cstddef> 16 #include <cstdint> 17 18 namespace fuzzer { 19 20 typedef void (*UserCallback)(const uint8_t *data, size_t size); 21 int FuzzerDriver(int argc, char **argv, UserCallback Callback); 22 23 } // namespace fuzzer 24 25 #endif // LLVM_FUZZER_INTERFACE_H 26