Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Fields
target_ops Struct Reference

#include <target_api.h>

Collaboration diagram for target_ops:
Collaboration graph
[legend]

Data Fields

int(* snprintf )(struct target *target, char *buf, int bufsiz)
 
int(* init )(struct target *target)
 
int(* fini )(struct target *target)
 
int(* attach )(struct target *target)
 
int(* detach )(struct target *target, int stay_paused)
 
int(* kill )(struct target *target, int sig)
 
int(* loadspaces )(struct target *target)
 
int(* loadregions )(struct target *target, struct addrspace *space)
 
int(* loaddebugfiles )(struct target *target, struct addrspace *space, struct memregion *region)
 
int(* postloadinit )(struct target *target)
 
int(* set_active_probing )(struct target *target, active_probe_flags_t flags)
 
int(* postopened )(struct target *target)
 
target_exception_handler_t handle_exception
 
target_debug_bp_handler_t handle_break
 
target_debug_handler_t handle_step
 
target_debug_handler_t handle_interrupted_step
 
void(* handle_event )(struct target *target, struct target_event *event)
 
int(* obj_flags_propagate )(struct target *target, obj_flags_t orf, obj_flags_t nandf)
 
struct target_spec *(* build_default_overlay_spec )(struct target *target, tid_t tid)
 
struct target *(* instantiate_overlay )(struct target *target, struct target_thread *tthread, struct target_spec *spec, struct target_thread **ntthread)
 
struct target_thread *(* lookup_overlay_thread_by_id )(struct target *target, int id)
 
struct target_thread *(* lookup_overlay_thread_by_name )(struct target *target, char *name)
 
int(* attach_overlay_thread )(struct target *base, struct target *overlay, tid_t newtid)
 
int(* detach_overlay_thread )(struct target *base, struct target *overlay, tid_t tid)
 
target_status_t(* handle_overlay_exception )(struct target *overlay, target_exception_flags_t flags, tid_t tid, ADDR ipval, int *again)
 
target_status_t(* status )(struct target *target)
 
int(* pause )(struct target *target, int nowait)
 
int(* resume )(struct target *target)
 
target_status_t(* monitor )(struct target *target)
 
target_status_t(* poll )(struct target *target, struct timeval *tv, target_poll_outcome_t *outcome, int *pstatus)
 
int(* attach_evloop )(struct target *target, struct evloop *evloop)
 
int(* detach_evloop )(struct target *target)
 
unsigned char *(* read )(struct target *target, ADDR addr, unsigned long length, unsigned char *buf)
 
unsigned long(* write )(struct target *target, ADDR addr, unsigned long length, unsigned char *buf)
 
struct value *(* read_symbol )(struct target *target, struct target_location_ctxt *tlctxt, struct bsymbol *bsymbol, load_flags_t flags)
 
int(* write_symbol )(struct target *target, struct value *value)
 
int(* addr_v2p )(struct target *target, tid_t tid, ADDR vaddr, ADDR *paddr)
 
unsigned char *(* read_phys )(struct target *target, ADDR paddr, unsigned long length, unsigned char *buf)
 
unsigned long(* write_phys )(struct target *target, ADDR paddr, unsigned long length, unsigned char *buf)
 
tid_t(* gettid )(struct target *target)
 
void(* free_thread_state )(struct target *target, void *state)
 
struct array_list *(* list_available_tids )(struct target *target)
 
struct target_thread *(* load_thread )(struct target *target, tid_t tid, int force)
 
struct target_thread *(* load_current_thread )(struct target *target, int force)
 
int(* load_all_threads )(struct target *target, int force)
 
int(* load_available_threads )(struct target *target, int force)
 
int(* pause_thread )(struct target *target, tid_t tid, int nowait)
 
int(* flush_thread )(struct target *target, tid_t tid)
 
int(* flush_current_thread )(struct target *target)
 
int(* flush_all_threads )(struct target *target)
 
int(* invalidate_thread )(struct target *target, struct target_thread *tthread)
 
int(* gc_threads )(struct target *target)
 
int(* thread_snprintf )(struct target *target, struct target_thread *tthread, char *buf, int bufsiz, int detail, char *sep, char *key_val_sep)
 
REGVAL(* readreg )(struct target *target, tid_t tid, REG reg)
 
int(* writereg )(struct target *target, tid_t tid, REG reg, REGVAL value)
 
GHashTable *(* copy_registers )(struct target *target, tid_t tid)
 
REGVAL(* readreg_tidctxt )(struct target *target, tid_t tid, thread_ctxt_t tidctxt, REG reg)
 
int(* writereg_tidctxt )(struct target *target, tid_t tid, thread_ctxt_t tidctxt, REG reg, REGVAL value)
 
struct target_location_ctxt *(* unwind )(struct target *target, tid_t tid)
 
int(* unwind_read_reg )(struct target_location_ctxt *tlctxt, REG reg, REGVAL *o_regval)
 
struct
target_location_ctxt_frame *(* 
unwind_prev )(struct target_location_ctxt *tlctxt)
 
int(* probe_register_symbol )(struct target *target, tid_t tid, struct probe *probe, struct bsymbol *bsymbol, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
 
struct target_memmod *(* insert_sw_breakpoint )(struct target *target, tid_t tid, ADDR addr)
 
int(* remove_sw_breakpoint )(struct target *target, tid_t tid, struct target_memmod *mmod)
 
int(* enable_sw_breakpoint )(struct target *target, tid_t tid, struct target_memmod *mmod)
 
int(* disable_sw_breakpoint )(struct target *target, tid_t tid, struct target_memmod *mmod)
 
int(* change_sw_breakpoint )(struct target *target, tid_t tid, struct target_memmod *mmod, unsigned char *code, unsigned long code_len)
 
int(* unchange_sw_breakpoint )(struct target *target, tid_t tid, struct target_memmod *mmod)
 
REG(* get_unused_debug_reg )(struct target *target, tid_t tid)
 
int(* set_hw_breakpoint )(struct target *target, tid_t tid, REG reg, ADDR addr)
 
int(* set_hw_watchpoint )(struct target *target, tid_t tid, REG reg, ADDR addr, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
 
int(* unset_hw_breakpoint )(struct target *target, tid_t tid, REG reg)
 
int(* unset_hw_watchpoint )(struct target *target, tid_t tid, REG reg)
 
int(* disable_hw_breakpoints )(struct target *target, tid_t tid)
 
int(* enable_hw_breakpoints )(struct target *target, tid_t tid)
 
int(* disable_hw_breakpoint )(struct target *target, tid_t tid, REG dreg)
 
int(* enable_hw_breakpoint )(struct target *target, tid_t tid, REG dreg)
 
int(* notify_sw_breakpoint )(struct target *target, ADDR addr, int notification)
 
int(* singlestep )(struct target *target, tid_t tid, int isbp, struct target *overlay)
 
int(* singlestep_end )(struct target *target, tid_t tid, struct target *overlay)
 
int(* instr_can_switch_context )(struct target *target, ADDR addr)
 
uint64_t(* get_tsc )(struct target *target)
 
uint64_t(* get_time )(struct target *target)
 
uint64_t(* get_counter )(struct target *target)
 
int(* enable_feature )(struct target *target, int feature, void *arg)
 
int(* disable_feature )(struct target *target, int feature)
 

Detailed Description

Definition at line 2797 of file target_api.h.

Field Documentation

int(* target_ops::addr_v2p)(struct target *target, tid_t tid, ADDR vaddr, ADDR *paddr)

Definition at line 2975 of file target_api.h.

int(* target_ops::attach)(struct target *target)

Definition at line 2819 of file target_api.h.

int(* target_ops::attach_evloop)(struct target *target, struct evloop *evloop)

Definition at line 2949 of file target_api.h.

int(* target_ops::attach_overlay_thread)(struct target *base, struct target *overlay, tid_t newtid)

Definition at line 2921 of file target_api.h.

struct target_spec*(* target_ops::build_default_overlay_spec)(struct target *target, tid_t tid)

Definition at line 2911 of file target_api.h.

int(* target_ops::change_sw_breakpoint)(struct target *target, tid_t tid, struct target_memmod *mmod, unsigned char *code, unsigned long code_len)

Definition at line 3093 of file target_api.h.

GHashTable*(* target_ops::copy_registers)(struct target *target, tid_t tid)

Definition at line 3065 of file target_api.h.

int(* target_ops::detach)(struct target *target, int stay_paused)

Definition at line 2821 of file target_api.h.

int(* target_ops::detach_evloop)(struct target *target)

Definition at line 2950 of file target_api.h.

int(* target_ops::detach_overlay_thread)(struct target *base, struct target *overlay, tid_t tid)

Definition at line 2923 of file target_api.h.

int(* target_ops::disable_feature)(struct target *target, int feature)

Definition at line 3134 of file target_api.h.

int(* target_ops::disable_hw_breakpoint)(struct target *target, tid_t tid, REG dreg)

Definition at line 3107 of file target_api.h.

int(* target_ops::disable_hw_breakpoints)(struct target *target, tid_t tid)

Definition at line 3105 of file target_api.h.

int(* target_ops::disable_sw_breakpoint)(struct target *target, tid_t tid, struct target_memmod *mmod)

Definition at line 3091 of file target_api.h.

int(* target_ops::enable_feature)(struct target *target, int feature, void *arg)

Definition at line 3133 of file target_api.h.

int(* target_ops::enable_hw_breakpoint)(struct target *target, tid_t tid, REG dreg)

Definition at line 3108 of file target_api.h.

int(* target_ops::enable_hw_breakpoints)(struct target *target, tid_t tid)

Definition at line 3106 of file target_api.h.

int(* target_ops::enable_sw_breakpoint)(struct target *target, tid_t tid, struct target_memmod *mmod)

Definition at line 3089 of file target_api.h.

int(* target_ops::fini)(struct target *target)

Definition at line 2815 of file target_api.h.

int(* target_ops::flush_all_threads)(struct target *target)

Definition at line 3004 of file target_api.h.

int(* target_ops::flush_current_thread)(struct target *target)

Definition at line 3003 of file target_api.h.

int(* target_ops::flush_thread)(struct target *target, tid_t tid)

Definition at line 3002 of file target_api.h.

void(* target_ops::free_thread_state)(struct target *target, void *state)

Definition at line 2992 of file target_api.h.

int(* target_ops::gc_threads)(struct target *target)

Definition at line 3006 of file target_api.h.

uint64_t(* target_ops::get_counter)(struct target *target)

Definition at line 3131 of file target_api.h.

uint64_t(* target_ops::get_time)(struct target *target)

Definition at line 3130 of file target_api.h.

uint64_t(* target_ops::get_tsc)(struct target *target)

Definition at line 3129 of file target_api.h.

REG(* target_ops::get_unused_debug_reg)(struct target *target, tid_t tid)

Definition at line 3098 of file target_api.h.

tid_t(* target_ops::gettid)(struct target *target)

Many of the following operations can be parameterized by a thread id.

Definition at line 2991 of file target_api.h.

target_debug_bp_handler_t target_ops::handle_break

Definition at line 2869 of file target_api.h.

void(* target_ops::handle_event)(struct target *target, struct target_event *event)

Definition at line 2902 of file target_api.h.

target_exception_handler_t target_ops::handle_exception

Definition at line 2868 of file target_api.h.

target_debug_handler_t target_ops::handle_interrupted_step

Definition at line 2893 of file target_api.h.

target_status_t(* target_ops::handle_overlay_exception)(struct target *overlay, target_exception_flags_t flags, tid_t tid, ADDR ipval, int *again)

Definition at line 2929 of file target_api.h.

target_debug_handler_t target_ops::handle_step

Definition at line 2870 of file target_api.h.

int(* target_ops::init)(struct target *target)

Definition at line 2810 of file target_api.h.

struct target_memmod*(* target_ops::insert_sw_breakpoint)(struct target *target, tid_t tid, ADDR addr)

Definition at line 3085 of file target_api.h.

struct target*(* target_ops::instantiate_overlay)(struct target *target, struct target_thread *tthread, struct target_spec *spec, struct target_thread **ntthread)

Definition at line 2913 of file target_api.h.

int(* target_ops::instr_can_switch_context)(struct target *target, ADDR addr)

Definition at line 3121 of file target_api.h.

int(* target_ops::invalidate_thread)(struct target *target, struct target_thread *tthread)

Definition at line 3005 of file target_api.h.

int(* target_ops::kill)(struct target *target, int sig)

Definition at line 2823 of file target_api.h.

struct array_list*(* target_ops::list_available_tids)(struct target *target)

Definition at line 2993 of file target_api.h.

int(* target_ops::load_all_threads)(struct target *target, int force)

Definition at line 2998 of file target_api.h.

int(* target_ops::load_available_threads)(struct target *target, int force)

Definition at line 2999 of file target_api.h.

struct target_thread*(* target_ops::load_current_thread)(struct target *target, int force)

Definition at line 2996 of file target_api.h.

struct target_thread*(* target_ops::load_thread)(struct target *target, tid_t tid, int force)

Definition at line 2994 of file target_api.h.

int(* target_ops::loaddebugfiles)(struct target *target, struct addrspace *space, struct memregion *region)

Definition at line 2838 of file target_api.h.

int(* target_ops::loadregions)(struct target *target, struct addrspace *space)

Definition at line 2833 of file target_api.h.

int(* target_ops::loadspaces)(struct target *target)

Definition at line 2828 of file target_api.h.

struct target_thread*(* target_ops::lookup_overlay_thread_by_id)(struct target *target, int id)

Definition at line 2917 of file target_api.h.

struct target_thread*(* target_ops::lookup_overlay_thread_by_name)(struct target *target, char *name)

Definition at line 2919 of file target_api.h.

target_status_t(* target_ops::monitor)(struct target *target)

Definition at line 2940 of file target_api.h.

int(* target_ops::notify_sw_breakpoint)(struct target *target, ADDR addr, int notification)

Definition at line 3109 of file target_api.h.

int(* target_ops::obj_flags_propagate)(struct target *target, obj_flags_t orf, obj_flags_t nandf)

Definition at line 2904 of file target_api.h.

int(* target_ops::pause)(struct target *target, int nowait)

Definition at line 2936 of file target_api.h.

int(* target_ops::pause_thread)(struct target *target, tid_t tid, int nowait)

Definition at line 3000 of file target_api.h.

target_status_t(* target_ops::poll)(struct target *target, struct timeval *tv, target_poll_outcome_t *outcome, int *pstatus)

Definition at line 2941 of file target_api.h.

int(* target_ops::postloadinit)(struct target *target)

Definition at line 2844 of file target_api.h.

int(* target_ops::postopened)(struct target *target)

Definition at line 2857 of file target_api.h.

int(* target_ops::probe_register_symbol)(struct target *target, tid_t tid, struct probe *probe, struct bsymbol *bsymbol, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)

Definition at line 3080 of file target_api.h.

unsigned char*(* target_ops::read)(struct target *target, ADDR addr, unsigned long length, unsigned char *buf)

Definition at line 2953 of file target_api.h.

unsigned char*(* target_ops::read_phys)(struct target *target, ADDR paddr, unsigned long length, unsigned char *buf)

Definition at line 2978 of file target_api.h.

struct value*(* target_ops::read_symbol)(struct target *target, struct target_location_ctxt *tlctxt, struct bsymbol *bsymbol, load_flags_t flags)

Definition at line 2960 of file target_api.h.

REGVAL(* target_ops::readreg)(struct target *target, tid_t tid, REG reg)

Definition at line 3063 of file target_api.h.

REGVAL(* target_ops::readreg_tidctxt)(struct target *target, tid_t tid, thread_ctxt_t tidctxt, REG reg)

Definition at line 3067 of file target_api.h.

int(* target_ops::remove_sw_breakpoint)(struct target *target, tid_t tid, struct target_memmod *mmod)

Definition at line 3087 of file target_api.h.

int(* target_ops::resume)(struct target *target)

Definition at line 2938 of file target_api.h.

int(* target_ops::set_active_probing)(struct target *target, active_probe_flags_t flags)

Definition at line 2853 of file target_api.h.

int(* target_ops::set_hw_breakpoint)(struct target *target, tid_t tid, REG reg, ADDR addr)

Definition at line 3099 of file target_api.h.

int(* target_ops::set_hw_watchpoint)(struct target *target, tid_t tid, REG reg, ADDR addr, probepoint_whence_t whence, probepoint_watchsize_t watchsize)

Definition at line 3100 of file target_api.h.

int(* target_ops::singlestep)(struct target *target, tid_t tid, int isbp, struct target *overlay)

Definition at line 3111 of file target_api.h.

int(* target_ops::singlestep_end)(struct target *target, tid_t tid, struct target *overlay)

Definition at line 3113 of file target_api.h.

int(* target_ops::snprintf)(struct target *target, char *buf, int bufsiz)

Definition at line 2798 of file target_api.h.

target_status_t(* target_ops::status)(struct target *target)

Definition at line 2934 of file target_api.h.

int(* target_ops::thread_snprintf)(struct target *target, struct target_thread *tthread, char *buf, int bufsiz, int detail, char *sep, char *key_val_sep)

Definition at line 3007 of file target_api.h.

int(* target_ops::unchange_sw_breakpoint)(struct target *target, tid_t tid, struct target_memmod *mmod)

Definition at line 3096 of file target_api.h.

int(* target_ops::unset_hw_breakpoint)(struct target *target, tid_t tid, REG reg)

Definition at line 3103 of file target_api.h.

int(* target_ops::unset_hw_watchpoint)(struct target *target, tid_t tid, REG reg)

Definition at line 3104 of file target_api.h.

struct target_location_ctxt*(* target_ops::unwind)(struct target *target, tid_t tid)

Definition at line 3073 of file target_api.h.

struct target_location_ctxt_frame*(* target_ops::unwind_prev)(struct target_location_ctxt *tlctxt)

Definition at line 3077 of file target_api.h.

int(* target_ops::unwind_read_reg)(struct target_location_ctxt *tlctxt, REG reg, REGVAL *o_regval)

Definition at line 3074 of file target_api.h.

unsigned long(* target_ops::write)(struct target *target, ADDR addr, unsigned long length, unsigned char *buf)

Definition at line 2956 of file target_api.h.

unsigned long(* target_ops::write_phys)(struct target *target, ADDR paddr, unsigned long length, unsigned char *buf)

Definition at line 2981 of file target_api.h.

int(* target_ops::write_symbol)(struct target *target, struct value *value)

Definition at line 2963 of file target_api.h.

int(* target_ops::writereg)(struct target *target, tid_t tid, REG reg, REGVAL value)

Definition at line 3064 of file target_api.h.

int(* target_ops::writereg_tidctxt)(struct target *target, tid_t tid, thread_ctxt_t tidctxt, REG reg, REGVAL value)

Definition at line 3069 of file target_api.h.


The documentation for this struct was generated from the following file: