mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 10:18:41 +02:00 
			
		
		
		
	Differential Revision: https://phabricator.services.mozilla.com/D27701 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//===- 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
 |