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>

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 2757 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 2935 of file target_api.h.

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

Definition at line 2779 of file target_api.h.

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

Definition at line 2909 of file target_api.h.

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

Definition at line 2881 of file target_api.h.

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

Definition at line 2871 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 3053 of file target_api.h.

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

Definition at line 3025 of file target_api.h.

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

Definition at line 2781 of file target_api.h.

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

Definition at line 2910 of file target_api.h.

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

Definition at line 2883 of file target_api.h.

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

Definition at line 3094 of file target_api.h.

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

Definition at line 3067 of file target_api.h.

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

Definition at line 3065 of file target_api.h.

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

Definition at line 3051 of file target_api.h.

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

Definition at line 3093 of file target_api.h.

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

Definition at line 3068 of file target_api.h.

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

Definition at line 3066 of file target_api.h.

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

Definition at line 3049 of file target_api.h.

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

Definition at line 2775 of file target_api.h.

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

Definition at line 2964 of file target_api.h.

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

Definition at line 2963 of file target_api.h.

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

Definition at line 2962 of file target_api.h.

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

Definition at line 2952 of file target_api.h.

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

Definition at line 2966 of file target_api.h.

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

Definition at line 3091 of file target_api.h.

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

Definition at line 3090 of file target_api.h.

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

Definition at line 3089 of file target_api.h.

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

Definition at line 3058 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 2951 of file target_api.h.

target_debug_bp_handler_t target_ops::handle_break

Definition at line 2829 of file target_api.h.

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

Definition at line 2862 of file target_api.h.

target_exception_handler_t target_ops::handle_exception

Definition at line 2828 of file target_api.h.

target_debug_handler_t target_ops::handle_interrupted_step

Definition at line 2853 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 2889 of file target_api.h.

target_debug_handler_t target_ops::handle_step

Definition at line 2830 of file target_api.h.

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

Definition at line 2770 of file target_api.h.

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

Definition at line 3045 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 2873 of file target_api.h.

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

Definition at line 3081 of file target_api.h.

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

Definition at line 2965 of file target_api.h.

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

Definition at line 2783 of file target_api.h.

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

Definition at line 2953 of file target_api.h.

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

Definition at line 2958 of file target_api.h.

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

Definition at line 2959 of file target_api.h.

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

Definition at line 2956 of file target_api.h.

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

Definition at line 2954 of file target_api.h.

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

Definition at line 2798 of file target_api.h.

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

Definition at line 2793 of file target_api.h.

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

Definition at line 2788 of file target_api.h.

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

Definition at line 2877 of file target_api.h.

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

Definition at line 2879 of file target_api.h.

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

Definition at line 2900 of file target_api.h.

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

Definition at line 3069 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 2864 of file target_api.h.

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

Definition at line 2896 of file target_api.h.

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

Definition at line 2960 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 2901 of file target_api.h.

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

Definition at line 2804 of file target_api.h.

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

Definition at line 2817 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 3040 of file target_api.h.

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

Definition at line 2913 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 2938 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 2920 of file target_api.h.

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

Definition at line 3023 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 3027 of file target_api.h.

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

Definition at line 3047 of file target_api.h.

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

Definition at line 2898 of file target_api.h.

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

Definition at line 2813 of file target_api.h.

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

Definition at line 3059 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 3060 of file target_api.h.

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

Definition at line 3071 of file target_api.h.

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

Definition at line 3073 of file target_api.h.

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

Definition at line 2758 of file target_api.h.

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

Definition at line 2894 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 2967 of file target_api.h.

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

Definition at line 3056 of file target_api.h.

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

Definition at line 3063 of file target_api.h.

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

Definition at line 3064 of file target_api.h.

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

Definition at line 3033 of file target_api.h.

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

Definition at line 3037 of file target_api.h.

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

Definition at line 3034 of file target_api.h.

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

Definition at line 2916 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 2941 of file target_api.h.

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

Definition at line 2923 of file target_api.h.

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

Definition at line 3024 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 3029 of file target_api.h.


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