drmgr.h File Reference

Header for DynamoRIO Multi-Instrumentation Manager Extension. More...

Data Structures

struct  _drmgr_priority_t

Typedefs

typedef dr_emit_flags_t(* drmgr_xform_cb_t )(void *drcontext, void *tag, instrlist_t *bb, bool for_trace, bool translating)
typedef dr_emit_flags_t(* drmgr_analysis_cb_t )(void *drcontext, void *tag, instrlist_t *bb, bool for_trace, bool translating, OUT void **user_data)
typedef drmgr_analysis_cb_t drmgr_app2app_ex_cb_t
typedef dr_emit_flags_t(* drmgr_ilist_ex_cb_t )(void *drcontext, void *tag, instrlist_t *bb, bool for_trace, bool translating, void *user_data)
typedef dr_emit_flags_t(* drmgr_insertion_cb_t )(void *drcontext, void *tag, instrlist_t *bb, instr_t *inst, bool for_trace, bool translating, void *user_data)
typedef struct _drmgr_priority_t drmgr_priority_t

Functions

DR_EXPORT bool drmgr_init (void)
DR_EXPORT void drmgr_exit (void)
DR_EXPORT bool drmgr_register_bb_app2app_event (drmgr_xform_cb_t func, drmgr_priority_t *priority)
DR_EXPORT bool drmgr_unregister_bb_app2app_event (drmgr_xform_cb_t func)
DR_EXPORT bool drmgr_register_bb_instrumentation_event (drmgr_analysis_cb_t analysis_func, drmgr_insertion_cb_t insertion_func, drmgr_priority_t *priority)
DR_EXPORT bool drmgr_unregister_bb_instrumentation_event (drmgr_analysis_cb_t func)
DR_EXPORT bool drmgr_register_bb_instru2instru_event (drmgr_xform_cb_t func, drmgr_priority_t *priority)
DR_EXPORT bool drmgr_unregister_bb_instru2instru_event (drmgr_xform_cb_t func)
DR_EXPORT bool drmgr_register_bb_instrumentation_ex_event (drmgr_app2app_ex_cb_t app2app_func, drmgr_ilist_ex_cb_t analysis_func, drmgr_insertion_cb_t insertion_func, drmgr_ilist_ex_cb_t instru2instru_func, drmgr_priority_t *priority)
DR_EXPORT bool drmgr_unregister_bb_instrumentation_ex_event (drmgr_app2app_ex_cb_t app2app_func, drmgr_ilist_ex_cb_t analysis_func, drmgr_insertion_cb_t insertion_func, drmgr_ilist_ex_cb_t instru2instru_func)
DR_EXPORT int drmgr_register_tls_field (void)
DR_EXPORT bool drmgr_unregister_tls_field (int idx)
DR_EXPORT void * drmgr_get_tls_field (void *drcontext, int idx)
DR_EXPORT bool drmgr_set_tls_field (void *drcontext, int idx, void *value)
DR_EXPORT bool drmgr_insert_read_tls_field (void *drcontext, int idx, instrlist_t *ilist, instr_t *where, reg_id_t reg)
DR_EXPORT bool drmgr_insert_write_tls_field (void *drcontext, int idx, instrlist_t *ilist, instr_t *where, reg_id_t reg, reg_id_t scratch)
DR_EXPORT int drmgr_register_cls_field (void(*cb_init_func)(void *drcontext, bool new_depth), void(*cb_exit_func)(void *drcontext, bool thread_exit))
DR_EXPORT bool drmgr_unregister_cls_field (void(*cb_init_func)(void *drcontext, bool new_depth), void(*cb_exit_func)(void *drcontext, bool thread_exit), int idx)
DR_EXPORT void * drmgr_get_cls_field (void *drcontext, int idx)
DR_EXPORT bool drmgr_set_cls_field (void *drcontext, int idx, void *value)
DR_EXPORT bool drmgr_insert_read_cls_field (void *drcontext, int idx, instrlist_t *ilist, instr_t *where, reg_id_t reg)
DR_EXPORT bool drmgr_insert_write_cls_field (void *drcontext, int idx, instrlist_t *ilist, instr_t *where, reg_id_t reg, reg_id_t scratch)
DR_EXPORT bool drmgr_push_cls (void *drcontext)
DR_EXPORT bool drmgr_pop_cls (void *drcontext)
DR_EXPORT ptr_uint_t drmgr_reserve_note_range (size_t size)
DR_EXPORT int drmgr_decode_sysnum_from_wrapper (app_pc entry)
DR_EXPORT bool drmgr_register_thread_init_event (void(*func)(void *drcontext))
DR_EXPORT bool drmgr_unregister_thread_init_event (void(*func)(void *drcontext))
DR_EXPORT bool drmgr_register_thread_exit_event (void(*func)(void *drcontext))
DR_EXPORT bool drmgr_unregister_thread_exit_event (void(*func)(void *drcontext))
DR_EXPORT bool drmgr_register_pre_syscall_event (bool(*func)(void *drcontext, int sysnum))
DR_EXPORT bool drmgr_unregister_pre_syscall_event (bool(*func)(void *drcontext, int sysnum))

Detailed Description

Header for DynamoRIO Multi-Instrumentation Manager Extension.


  DynamoRIO API version 3.2.0 --- Wed Mar 28 12:55:33 2012