12345678910111213141516171819202122232425262728293031323334 |
- //===- FuzzerExtFunctions.h - Interface to external functions ---*- C++ -* ===//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- // Defines an interface to (possibly optional) functions.
- //===----------------------------------------------------------------------===//
- #ifndef LLVM_FUZZER_EXT_FUNCTIONS_H
- #define LLVM_FUZZER_EXT_FUNCTIONS_H
- #include <stddef.h>
- #include <stdint.h>
- namespace fuzzer {
- struct ExternalFunctions {
- // Initialize function pointers. Functions that are not available will be set
- // to nullptr. Do not call this constructor before ``main()`` has been
- // entered.
- ExternalFunctions();
- #define EXT_FUNC(NAME, RETURN_TYPE, FUNC_SIG, WARN) \
- RETURN_TYPE(*NAME) FUNC_SIG = nullptr
- #include "FuzzerExtFunctions.def"
- #undef EXT_FUNC
- };
- } // namespace fuzzer
- #endif
|