about summary refs log tree commit diff
path: root/include/afl-fuzz.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/afl-fuzz.h')
-rw-r--r--include/afl-fuzz.h70
1 files changed, 67 insertions, 3 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index 7b380dce..ca22ef75 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -80,6 +80,11 @@
 #  define HAVE_AFFINITY 1
 #endif /* __linux__ */
 
+#ifndef SIMPLE_FILES
+#  define CASE_PREFIX "id:"
+#else
+#  define CASE_PREFIX "id_"
+#endif /* ^!SIMPLE_FILES */
 
 struct queue_entry {
 
@@ -455,16 +460,15 @@ extern PyObject *py_functions[PY_FUNC_COUNT];
 
 /**** Prototypes ****/
 
-/* Python stuff */
+/* Python */
 #ifdef USE_PYTHON
-
 int init_py();
 void finalize_py();
 void fuzz_py(char*, size_t, char*, size_t, char**, size_t*);
 u32 init_trim_py(char*, size_t);
 u32 post_trim_py(char);
 void trim_py(char**, size_t*);
-
+u8 trim_case_python(char**, struct queue_entry*, u8*);
 #endif
 
 /* Queue */
@@ -476,6 +480,7 @@ void add_to_queue(u8*, u32, u8);
 void destroy_queue(void);
 void update_bitmap_score(struct queue_entry*);
 void cull_queue(void);
+u32 calculate_score(struct queue_entry*);
 
 /* Bitmap */
 
@@ -494,6 +499,10 @@ void classify_counts(u32*);
 #endif
 void init_count_class16(void);
 void minimize_bits(u8*, u8*);
+#ifndef SIMPLE_FILES
+u8* describe_op(u8);
+#endif
+u8 save_if_interesting(char**, void*, u32, u8);
 
 /* Misc */
 
@@ -511,6 +520,61 @@ void save_auto(void);
 void load_auto(void);
 void destroy_extras(void);
 
+/* Stats */
+
+void write_stats_file(double, double, double);
+void maybe_update_plot_file(double, double);
+void show_stats(void);
+void show_init_stats(void);
+
+/* Run */
+
+u8 run_target(char**, u32);
+void write_to_testcase(void*, u32);
+void write_with_gap(void*, u32, u32, u32);
+u8 calibrate_case(char**, struct queue_entry*, u8*, u32, u8);
+void sync_fuzzers(char**);
+u8 trim_case(char**, struct queue_entry*, u8*);
+u8 common_fuzz_stuff(char**, u8*, u32);
+
+/* Fuzz one */
+
+u8 fuzz_one_original(char**);
+static u8 pilot_fuzzing(char**);
+u8 core_fuzzing(char**);
+void pso_updating(void);
+u8 fuzz_one(char**);
+
+/* Init */
+
+#ifdef HAVE_AFFINITY
+void bind_to_free_cpu(void);
+#endif
+void setup_post(void);
+void setup_custom_mutator(void);
+void read_testcases(void);
+void perform_dry_run(char**);
+void pivot_inputs(void);
+u32 find_start_position(void);
+void find_timeout(void);
+double get_runnable_processes(void);
+void nuke_resume_dir(void);
+void maybe_delete_out_dir(void);
+void setup_dirs_fds(void);
+void setup_cmdline_file(char**);
+void setup_stdio_file(void);
+void check_crash_handling(void);
+void check_cpu_governor(void);
+void get_core_count(void);
+void fix_up_sync(void);
+void check_asan_opts(void);
+void check_binary(u8*);
+void fix_up_banner(u8*);
+void check_if_tty(void);
+void setup_signal_handlers(void);
+char** get_qemu_argv(u8*, char**, int);
+void save_cmdline(u32, char**);
+
 /**** Inline routines ****/
 
 /* Generate a random number (from 0 to limit - 1). This may