1 1.1 kamil // 2 1.1 kamil // The LLVM Compiler Infrastructure 3 1.1 kamil // 4 1.1 kamil // This file is distributed under the University of Illinois Open Source 5 1.1 kamil // License. See LICENSE.TXT for details. 6 1.1 kamil // 7 1.1 kamil //===----------------------------------------------------------------------===// 8 1.1 kamil // fuzzer::FuzzingOptions 9 1.1 kamil //===----------------------------------------------------------------------===// 10 1.1 kamil 11 1.1 kamil #ifndef LLVM_FUZZER_OPTIONS_H 12 1.1 kamil #define LLVM_FUZZER_OPTIONS_H 13 1.1 kamil 14 1.1 kamil #include "FuzzerDefs.h" 15 1.1 kamil 16 1.1 kamil namespace fuzzer { 17 1.1 kamil 18 1.1 kamil struct FuzzingOptions { 19 1.1 kamil int Verbosity = 1; 20 1.1 kamil size_t MaxLen = 0; 21 1.1 kamil size_t LenControl = 1000; 22 1.1 kamil int UnitTimeoutSec = 300; 23 1.1 kamil int TimeoutExitCode = 77; 24 1.1 kamil int ErrorExitCode = 77; 25 1.1 kamil int MaxTotalTimeSec = 0; 26 1.1 kamil int RssLimitMb = 0; 27 1.1 kamil int MallocLimitMb = 0; 28 1.1 kamil bool DoCrossOver = true; 29 1.1 kamil int MutateDepth = 5; 30 1.1 kamil bool ReduceDepth = false; 31 1.1 kamil bool UseCounters = false; 32 1.1 kamil bool UseMemmem = true; 33 1.1 kamil bool UseCmp = false; 34 1.1 kamil int UseValueProfile = false; 35 1.1 kamil bool Shrink = false; 36 1.1 kamil bool ReduceInputs = false; 37 1.1 kamil int ReloadIntervalSec = 1; 38 1.1 kamil bool ShuffleAtStartUp = true; 39 1.1 kamil bool PreferSmall = true; 40 1.1 kamil size_t MaxNumberOfRuns = -1L; 41 1.1 kamil int ReportSlowUnits = 10; 42 1.1 kamil bool OnlyASCII = false; 43 1.1 kamil std::string OutputCorpus; 44 1.1 kamil std::string ArtifactPrefix = "./"; 45 1.1 kamil std::string ExactArtifactPath; 46 1.1 kamil std::string ExitOnSrcPos; 47 1.1 kamil std::string ExitOnItem; 48 1.1 kamil std::string FocusFunction; 49 1.1 kamil std::string DataFlowTrace; 50 1.1 kamil bool SaveArtifacts = true; 51 1.1 kamil bool PrintNEW = true; // Print a status line when new units are found; 52 1.1 kamil bool PrintNewCovPcs = false; 53 1.1 kamil int PrintNewCovFuncs = 0; 54 1.1 kamil bool PrintFinalStats = false; 55 1.1 kamil bool PrintCorpusStats = false; 56 1.1 kamil bool PrintCoverage = false; 57 1.1 kamil bool PrintUnstableStats = false; 58 1.1 kamil int HandleUnstable = 0; 59 1.1 kamil bool DumpCoverage = false; 60 1.1 kamil bool DetectLeaks = true; 61 1.1 kamil int PurgeAllocatorIntervalSec = 1; 62 1.1 kamil int TraceMalloc = 0; 63 1.1 kamil bool HandleAbrt = false; 64 1.1 kamil bool HandleBus = false; 65 1.1 kamil bool HandleFpe = false; 66 1.1 kamil bool HandleIll = false; 67 1.1 kamil bool HandleInt = false; 68 1.1 kamil bool HandleSegv = false; 69 1.1 kamil bool HandleTerm = false; 70 1.1 kamil bool HandleXfsz = false; 71 1.1 kamil bool HandleUsr1 = false; 72 1.1 kamil bool HandleUsr2 = false; 73 1.1 kamil }; 74 1.1 kamil 75 1.1 kamil } // namespace fuzzer 76 1.1 kamil 77 1.1 kamil #endif // LLVM_FUZZER_OPTIONS_H 78