/*===- DataFlow.h - a standalone DataFlow trace -------===// // // 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 // //===----------------------------------------------------------------------===// // Internal header file to connect DataFlow.cpp and DataFlowCallbacks.cpp. //===----------------------------------------------------------------------===*/ #ifndef __LIBFUZZER_DATAFLOW_H #define __LIBFUZZER_DATAFLOW_H #include #include #include // This data is shared between DataFlowCallbacks.cpp and DataFlow.cpp. struct CallbackData { size_t NumFuncs, NumGuards; const uintptr_t *PCsBeg, *PCsEnd; dfsan_label *FuncLabels; // Array of NumFuncs elements. bool *BBExecuted; // Array of NumGuards elements. }; extern CallbackData __dft; enum { PCFLAG_FUNC_ENTRY = 1, }; #endif // __LIBFUZZER_DATAFLOW_H