19 #ifndef __PROBE_API_H__
20 #define __PROBE_API_H__
72 struct probe *trigger,
struct probe *base);
96 const char *(*gettype)(
struct probe *
probe);
112 void *(*summarize)(
struct probe *
probe);
159 #define PROBE_VALUE_NAME_RETURN "__RETURN__"
306 char *
name,
const char *delim,
328 #ifdef ENABLE_DISTORM
343 struct probe *probe_register_function_ee(
struct probe *probe,
346 int force_at_entry,
int noabort,
370 typedef int (*probe_register_disasm_handler_t)(
struct cf_inst_data *id,
372 struct probe **probe_alt);
374 struct probe *probe_register_function_instrs(
struct bsymbol *
bsymbol,
377 probe_register_disasm_handler_t handler,
380 struct probe *probe,...);
386 struct probe *probe_register_block_instrs(
struct target *
target,
390 probe_register_disasm_handler_t handler,
393 struct probe *probe,...);
407 struct probe *probe_register_function_invocations(
struct probe *probe,
436 #ifdef ENABLE_DISTORM
624 int probe_free(
struct probe *probe,
int force);
721 ADDR *addrlist,
int count,
728 struct probe **probelist,
732 int listlen,
int force);
850 int action_sched(
struct probe *probe,
struct action *action,
871 #define SINGLESTEP_INFINITE -1
872 #define SINGLESTEP_NEXTBP -2
struct target * probe_target(struct probe *probe)
GHashTable * probe_value_get_last_table(struct probe *probe, tid_t tid)
GHashTable * probe_value_get_raw_table_basic(struct probe *probe, tid_t tid)
struct probe * probe_register_symbol_name(struct probe *probe, char *name, const char *delim, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
result_t pre_handler(struct probe *probe, tid_t tid, void *data, struct probe *trigger, struct probe *base)
int probe_unregister_source(struct probe *sink, struct probe *src, int force)
int action_sched(struct probe *probe, struct action *action, action_whence_t whence, action_handler_t handler, void *handler_data)
struct probe * probe_value_symbol(struct target *target, tid_t tid, struct bsymbol *bsymbol, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data)
int(* registered)(struct probe *probe)
void action_hold(struct action *action)
void * probe_summarize_tid(struct probe *probe, tid_t tid)
struct probe * probe_value_var(struct target *target, tid_t tid, struct bsymbol *bsymbol, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data)
GHashTable * probe_value_get_table_basic(struct probe *probe, tid_t tid)
void(* values_notify_phase)(struct probe *probe, tid_t tid, probe_handler_phase_t phase)
struct value * probe_value_get_function_ee(struct probe *probe, tid_t tid, char *name)
struct probe * probe_register_addr(struct probe *probe, ADDR addr, probepoint_type_t type, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize, struct bsymbol *bsymbol)
int probe_unregister(struct probe *probe, int force)
int(* enabled)(struct probe *probe)
struct target_nv_filter * post_filter
int probe_value_record_basic(struct probe *probe, tid_t tid, char *name, struct value *value, int israw)
void probe_values_free_stacked(struct probe *probe)
probe_handler_phase_t phase
void probe_values_free_basic(struct probe *probe)
struct value * probe_value_get_last(struct probe *probe, tid_t tid, char *name)
struct action * action_regmod(REG regnum, REGVAL regval)
int probe_is_base(struct probe *probe)
REFCNT action_free(struct action *action, int force)
int probe_num_sinks(struct probe *probe)
struct probe * probe_create_filtered(struct target *target, tid_t tid, struct probe_ops *pops, const char *name, probe_handler_t pre_handler, struct target_nv_filter *pre_filter, probe_handler_t post_handler, struct target_nv_filter *post_filter, struct target_nv_filter *thread_filter, void *handler_data, int autofree, int tracked)
GHashTable * probe_value_get_table(struct probe *probe, tid_t tid)
tid_t probe_tid(struct probe *probe)
int(* unregistered)(struct probe *probe)
struct target_nv_filter * thread_filter
int probe_unregister_one(struct probe *probe, int force)
int probe_enable(struct probe *probe)
result_t probe_do_sink_pre_handlers(struct probe *probe, tid_t tid, void *handler_data, struct probe *trigger, struct probe *base)
result_t(* probe_handler_t)(struct probe *probe, tid_t tid, void *handler_data, struct probe *trigger, struct probe *base)
int probe_disable_one(struct probe *probe)
ADDR probe_addr(struct probe *probe)
probepoint_type_t probe_type(struct probe *probe)
struct probe * probe_register_source(struct probe *sink, struct probe *src)
void probe_value_free(struct probe_value *pv)
int probe_value_record_stacked(struct probe *probe, tid_t tid, char *name, struct value *value, int israw)
struct value * probe_value_get_last_function_ee(struct probe *probe, tid_t tid, char *name)
int probe_unregister_source_one(struct probe *sink, struct probe *src, int force)
struct value * probe_value_get_last_basic(struct probe *probe, tid_t tid, char *name)
GHashTable * probe_value_get_last_raw_table_basic(struct probe *probe, tid_t tid)
struct action * action_singlestep(int nsteps)
int(* init)(struct probe *probe)
struct probe * probe_register_sources(struct probe *sink, struct probe *src,...)
result_t(* action_handler_t)(struct action *action, struct target_thread *thread, struct probe *probe, struct probepoint *probepoint, handler_msg_t msg, int msg_detail, void *handler_data)
void probe_rename(struct probe *probe, const char *name)
GHashTable * probe_value_get_raw_table_function_ee(struct probe *probe, tid_t tid)
struct value * probe_value_get_last_raw_basic(struct probe *probe, tid_t tid, char *name)
int probe_disable(struct probe *probe)
result_t probe_do_sink_post_handlers(struct probe *probe, tid_t tid, void *handler_data, struct probe *trigger, struct probe *base)
int probe_free(struct probe *probe, int force)
struct probe * probe_create(struct target *target, tid_t tid, struct probe_ops *pops, const char *name, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data, int autofree, int tracked)
GHashTable * probe_value_get_raw_table(struct probe *probe, tid_t tid)
int(* fini)(struct probe *probe)
GHashTable * probe_value_get_table_function_ee(struct probe *probe, tid_t tid)
struct value * probe_value_get_raw_basic(struct probe *probe, tid_t tid, char *name)
probepoint_whence_t probe_whence(struct probe *probe)
int probe_hard_enable(struct probe *probe)
void probe_value_clear(struct probe_value *pv)
GHashTable * probe_value_get_last_table_basic(struct probe *probe, tid_t tid)
struct bsymbol * probe_symbol(struct probe *probe)
struct value * probe_value_get_last_raw(struct probe *probe, tid_t tid, char *name)
struct value * probe_value_get_raw(struct probe *probe, tid_t tid, char *name)
void probe_value_notify_phase_function_ee(struct probe *probe, tid_t tid, probe_handler_phase_t phase)
int probe_register_batch(struct target *target, tid_t tid, ADDR *addrlist, int count, probepoint_type_t type, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data, struct probe **probelist, int failureaction)
probepoint_watchsize_t probepoint_closest_watchsize(int size)
struct probe * probe_register_inlined_symbol(struct probe *probe, struct bsymbol *bsymbol, int do_primary, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
int(* disabled)(struct probe *probe)
struct action * action_return(REGVAL retval)
struct probe * probe_register_line(struct probe *probe, char *filename, int line, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
struct target_nv_filter * pre_filter
struct value * probe_value_get(struct probe *probe, tid_t tid, char *name)
result_t post_handler(struct probe *probe, tid_t tid, void *data, struct probe *trigger, struct probe *base)
int action_cancel(struct action *action)
void(* values_free)(struct probe *probe)
void * probe_priv(struct probe *probe)
REFCNT action_release(struct action *action)
char * probe_name(struct probe *probe)
struct value * probe_value_get_last_raw_function_ee(struct probe *probe, tid_t tid, char *name)
struct value * probe_value_get_raw_function_ee(struct probe *probe, tid_t tid, char *name)
struct action * action_memmod(ADDR destaddr, char *data, uint32_t len)
probepoint_style_t probe_style(struct probe *probe)
void probe_value_notify_phase_watchedvar(struct probe *probe, tid_t tid, probe_handler_phase_t phase)
GHashTable * probe_value_get_last_raw_table(struct probe *probe, tid_t tid)
int probe_filter_check(struct probe *probe, tid_t tid, struct probe *trigger, int whence)
GHashTable * probe_value_get_last_raw_table_function_ee(struct probe *probe, tid_t tid)
GHashTable * probe_value_get_last_table_function_ee(struct probe *probe, tid_t tid)
struct value * probe_value_get_basic(struct probe *probe, tid_t tid, char *name)
int probe_enabled(struct probe *probe)
struct action * action_code(char *buf, uint32_t len, uint32_t flags)
struct probe * probe_register_symbol(struct probe *probe, struct bsymbol *bsymbol, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
int probe_hard_disable(struct probe *probe, int force)
int probe_unregister_batch(struct target *target, struct probe **probelist, int listlen, int force)
struct probe_value * probe_value_create(probe_handler_phase_t phase)
int probe_num_sources(struct probe *probe)
void * probe_summarize(struct probe *probe)
struct probe * probe_simple(struct target *target, tid_t tid, char *name, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data)
int probe_enable_all(struct probe *probe)