DynamoRIO
|
drx.h File Reference
Header for DynamoRIO eXtension utilities (drx) More...
Macros | |
#define | DRMGR_PRIORITY_NAME_DRX_FAULT "drx_fault" |
#define | DRX_FILE_SKIP_OPEN 0x8000 |
#define | DRMGR_PRIORITY_NAME_DRX_BUF_INIT "drx_buf.init" |
#define | DRMGR_PRIORITY_NAME_DRX_BUF_EXIT "drx_buf.exit" |
Typedefs | |
typedef void(* | drx_buf_full_cb_t) (void *drcontext, void *buf_base, size_t size) |
typedef struct _drx_buf_t | drx_buf_t |
Enumerations | |
enum | { DRMGR_PRIORITY_FAULT_DRX = -7500 } |
enum | { DRX_COUNTER_64BIT = 0x01, DRX_COUNTER_REL_ACQ = 0x02, DRX_COUNTER_LOCK = 0x10 } |
enum | { DRX_BUF_FAST_CIRCULAR_BUFSZ = (1 << 16) } |
enum | { DRMGR_PRIORITY_THREAD_INIT_DRX_BUF = -7500, DRMGR_PRIORITY_THREAD_EXIT_DRX_BUF = -7500 } |
Functions | |
DR_EXPORT bool | drx_init (void) |
DR_EXPORT void | drx_exit (void) |
DR_EXPORT ptr_uint_t | drx_reserve_note_range (size_t size) |
DR_EXPORT bool | drx_aflags_are_dead (instr_t *where) |
DR_EXPORT bool | drx_insert_counter_update (void *drcontext, instrlist_t *ilist, instr_t *where, dr_spill_slot_t slot, IF_AARCHXX_OR_RISCV64_(dr_spill_slot_t slot2) void *addr, int value, uint flags) |
DR_EXPORT bool | drx_register_soft_kills (bool(*event_cb)(process_id_t pid, int exit_code)) |
DR_EXPORT size_t | drx_instrlist_size (instrlist_t *ilist) |
DR_EXPORT size_t | drx_instrlist_app_size (instrlist_t *ilist) |
DR_EXPORT file_t | drx_open_unique_file (const char *dir, const char *prefix, const char *suffix, uint extra_flags, char *result DR_PARAM_OUT, size_t result_len) |
DR_EXPORT file_t | drx_open_unique_appid_file (const char *dir, ptr_int_t id, const char *prefix, const char *suffix, uint extra_flags, char *result DR_PARAM_OUT, size_t result_len) |
DR_EXPORT bool | drx_open_unique_appid_dir (const char *dir, ptr_int_t id, const char *prefix, const char *suffix, char *result DR_PARAM_OUT, size_t result_len) |
DR_EXPORT drx_buf_t * | drx_buf_create_circular_buffer (size_t buf_size) |
DR_EXPORT drx_buf_t * | drx_buf_create_trace_buffer (size_t buffer_size, drx_buf_full_cb_t full_cb) |
DR_EXPORT bool | drx_buf_free (drx_buf_t *buf) |
DR_EXPORT void | drx_buf_insert_load_buf_ptr (void *drcontext, drx_buf_t *buf, instrlist_t *ilist, instr_t *where, reg_id_t buf_ptr) |
DR_EXPORT void | drx_buf_insert_update_buf_ptr (void *drcontext, drx_buf_t *buf, instrlist_t *ilist, instr_t *where, reg_id_t buf_ptr, reg_id_t scratch, ushort stride) |
DR_EXPORT bool | drx_buf_insert_buf_store (void *drcontext, drx_buf_t *buf, instrlist_t *ilist, instr_t *where, reg_id_t buf_ptr, reg_id_t scratch, opnd_t opnd, opnd_size_t opsz, short offset) |
DR_EXPORT void * | drx_buf_get_buffer_ptr (void *drcontext, drx_buf_t *buf) |
DR_EXPORT void | drx_buf_set_buffer_ptr (void *drcontext, drx_buf_t *buf, void *new_ptr) |
DR_EXPORT void * | drx_buf_get_buffer_base (void *drcontext, drx_buf_t *buf) |
DR_EXPORT size_t | drx_buf_get_buffer_size (void *drcontext, drx_buf_t *buf) |
DR_EXPORT bool | drx_tail_pad_block (void *drcontext, instrlist_t *ilist) |
DR_EXPORT void | drx_buf_insert_buf_memcpy (void *drcontext, drx_buf_t *buf, instrlist_t *ilist, instr_t *where, reg_id_t dst, reg_id_t src, ushort len) |
DR_EXPORT bool | drx_expand_scatter_gather (void *drcontext, instrlist_t *bb, DR_PARAM_OUT bool *expanded) |
Detailed Description
Header for DynamoRIO eXtension utilities (drx)