// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/libFuzzer/src/FuzzerDefs.h"

// Small shim to expose LLVMFuzzerRunDriver from libfuzzer.
// This is exposed as a visible symbol in the libfuzzer-API-compatible
// fuzzers framework centipede, but for some reason is not exposed in libfuzzer
// itself. Expose it so we can write a fuzzer the same way for each.

extern "C" __attribute__((visibility("default"))) int LLVMFuzzerRunDriver(
    int* argc,
    char*** argv,
    int (*UserCb)(const uint8_t* Data, size_t Size)) {
  return fuzzer::FuzzerDriver(argc, argv, UserCb);
}