Dr. Memory
drfuzz.h File Reference

Header for Dr. Fuzz: DynamoRIO Fuzz Testing Extension. More...

#include "drmemory_framework.h"
#include "../framework/drmf.h"
#include "drwrap.h"

Data Structures

struct  _drfuzz_target_frame_t
 
struct  _drfuzz_fault_t
 
struct  _drfuzz_fault_thread_state_t
 
struct  _drfuzz_crash_state_t
 

Typedefs

typedef struct _drfuzz_target_frame_t drfuzz_target_frame_t
 
typedef void * drfuzz_target_iterator_t
 
typedef struct _drfuzz_fault_t drfuzz_fault_t
 
typedef dr_siginfo_t drfuzz_fault_ex_t
 
typedef struct _drfuzz_fault_thread_state_t drfuzz_fault_thread_state_t
 
typedef struct _drfuzz_crash_state_t drfuzz_crash_state_t
 

Functions

DR_EXPORT drmf_status_t drfuzz_init (client_id_t client_id)
 
DR_EXPORT drmf_status_t drfuzz_exit (void)
 
DR_EXPORT drmf_status_t drfuzz_fuzz_target (generic_func_t func_pc, uint arg_count, uint flags, uint wrap_flags, void(*pre_fuzz_cb)(void *fuzzcxt, generic_func_t target_pc, dr_mcontext_t *mc), bool(*post_fuzz_cb)(void *fuzzcxt, generic_func_t target_pc))
 
DR_EXPORT drmf_status_t drfuzz_unfuzz_target (generic_func_t func_pc)
 
DR_EXPORT drmf_status_t drfuzz_register_fault_event (void(*event)(void *fuzzcxt, drfuzz_fault_t *fault, drfuzz_fault_ex_t *fault_ex))
 
DR_EXPORT drmf_status_t drfuzz_unregister_fault_event (void(*event)(void *fuzzcxt, drfuzz_fault_t *fault, drfuzz_fault_ex_t *fault_ex))
 
DR_EXPORT drmf_status_t drfuzz_register_fault_delete_callback (void(*callback)(void *fuzzcxt, drfuzz_fault_t *fault))
 
DR_EXPORT drmf_status_t drfuzz_unregister_fault_delete_callback (void(*callback)(void *fuzzcxt, drfuzz_fault_t *fault))
 
DR_EXPORT drmf_status_t drfuzz_register_crash_thread_event (void(*event)(void *fuzzcxt, drfuzz_fault_thread_state_t *state))
 
DR_EXPORT drmf_status_t drfuzz_unregister_crash_thread_event (void(*event)(void *fuzzcxt, drfuzz_fault_thread_state_t *state))
 
DR_EXPORT void * drfuzz_get_fuzzcxt (void)
 
DR_EXPORT void * drfuzz_get_drcontext (void *fuzzcxt)
 
DR_EXPORT drmf_status_t drfuzz_get_arg (void *fuzzcxt, generic_func_t target_pc, int arg, bool original, OUT void **arg_value)
 
DR_EXPORT drmf_status_t drfuzz_set_arg (void *fuzzcxt, int arg, void *val)
 
DR_EXPORT drmf_status_t drfuzz_get_target_user_data (IN generic_func_t target_pc, OUT void **user_data)
 
DR_EXPORT drmf_status_t drfuzz_set_target_user_data (IN generic_func_t target_pc, IN void *user_data, IN void(*delete_callback)(void *user_data))
 
DR_EXPORT drmf_status_t drfuzz_get_target_per_thread_user_data (IN void *fuzzcxt, IN generic_func_t target_pc, OUT void **user_data)
 
DR_EXPORT drmf_status_t drfuzz_set_target_per_thread_user_data (IN void *fuzzcxt, IN generic_func_t target_pc, IN void *user_data, IN void(*delete_callback)(void *fuzzcxt, void *user_data))
 
DR_EXPORT drfuzz_target_iterator_tdrfuzz_target_iterator_start (void *fuzzcxt)
 
DR_EXPORT drfuzz_target_frame_tdrfuzz_target_iterator_next (drfuzz_target_iterator_t *iter)
 
DR_EXPORT drmf_status_t drfuzz_target_iterator_stop (drfuzz_target_iterator_t *iter)
 

Detailed Description

Header for Dr. Fuzz: DynamoRIO Fuzz Testing Extension.