| // Copyright 2019 The PDFium Authors | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef TESTING_FUZZERS_PDFIUM_FUZZER_UTIL_H_ | |
| #define TESTING_FUZZERS_PDFIUM_FUZZER_UTIL_H_ | |
| #include <stdint.h> | |
| #include "public/fpdfview.h" | |
| // Returns an integer from the first 4 bytes of |data|. | |
| int GetInteger(const uint8_t* data); | |
| // Plumb access to any context created by fuzzer initialization into | |
| // the LLVMFuzzerTestOneInput() function, as that function does not | |
| // allow for additional parameters, nor can it reach back up to the | |
| // top-level fuzzer shim during a component build (see the comment | |
| // in BUILD.gn about splitting fuzzers into _impl and _src targets). | |
| extern "C" { | |
| FPDF_EXPORT void FPDF_CALLCONV FPDF_SetFuzzerPerProcessState(void* state); | |
| FPDF_EXPORT void* FPDF_CALLCONV FPDF_GetFuzzerPerProcessState(); | |
| } // extern "C" | |
| #endif // TESTING_FUZZERS_PDFIUM_FUZZER_UTIL_H_ |