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 Structures | Typedefs | Enumerations | Functions
target_gdb_rsp.h File Reference
#include "config.h"
#include "common.h"
#include "regcache.h"
#include "target_gdb.h"
Include dependency graph for target_gdb_rsp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gdb_rsp_stop_status
 
struct  gdb_rsp_read_mem_data
 

Typedefs

typedef gdb_rsp_handler_ret_t(* gdb_rsp_handler_t )(struct target *target, char *data, unsigned int len, void *handler_data)
 

Enumerations

enum  gdb_ptype_t {
  GDB_UNKNOWN = 0, GDB_PACKET = 1 << 0, GDB_NOTIFICATION = 1 << 1, GDB_ACK = 1 << 2,
  GDB_NAK = 1 << 3, GDB_INTERRUPT = 1 << 4
}
 
enum  gdb_rsp_handler_ret_t { GDB_RSP_HANDLER_ERR = -1, GDB_RSP_HANDLER_DONE = 0, GDB_RSP_HANDLER_MORE = 1, GDB_RSP_HANDLER_NOTMINE = 2 }
 
enum  gdb_rsp_stop_reason_t {
  GDB_RSP_STOP_UNKNOWN = -1, GDB_RSP_STOP_NONE = 0, GDB_RSP_STOP_SIGNAL = 1, GDB_RSP_STOP_WATCH = 2,
  GDB_RSP_STOP_RWATCH = 3, GDB_RSP_STOP_AWATCH = 4, GDB_RSP_STOP_LIBRARY = 5, GDB_RSP_STOP_REPLAYLOG = 6,
  GDB_RSP_STOP_EXITED = 7, GDB_RSP_STOP_TERMINATED = 8
}
 
enum  gdb_rsp_break_t {
  GDB_RSP_BREAK_SW = 0, GDB_RSP_BREAK_HW = 1, GDB_RSP_BREAK_WATCH = 2, GDB_RSP_BREAK_RWATCH = 3,
  GDB_RSP_BREAK_AWATCH = 4
}
 

Functions

int gdb_rsp_connect (struct target *target)
 
int gdb_rsp_close (struct target *target, int stay_paused)
 
int gdb_rsp_recv (struct target *target, int blocking, int only_one, gdb_ptype_t *ptype)
 
int gdb_rsp_recv_until_handled (struct target *target, gdb_rsp_handler_t handler, gdb_rsp_handler_ret_t *handler_ret)
 
int gdb_rsp_interrupt (struct target *target)
 
int gdb_rsp_ack (struct target *target)
 
int gdb_rsp_nak (struct target *target)
 
int gdb_rsp_send_packet (struct target *target, char *data, unsigned int len, gdb_rsp_handler_t handler, void *handler_data)
 
target_status_t gdb_rsp_load_status (struct target *target)
 
int gdb_rsp_pause (struct target *target)
 
int gdb_rsp_resume (struct target *target)
 
int gdb_rsp_step (struct target *target)
 
int gdb_rsp_read_regs (struct target *target, struct regcache *regcache)
 
int gdb_rsp_write_regs (struct target *target, struct regcache *regcache)
 
int gdb_rsp_read_mem (struct target *target, ADDR addr, unsigned long length, unsigned char *buf)
 
int gdb_rsp_write_mem (struct target *target, ADDR addr, unsigned long length, unsigned char *buf)
 
int gdb_rsp_insert_break (struct target *target, ADDR addr, gdb_rsp_break_t bt, int kind)
 
int gdb_rsp_remove_break (struct target *target, ADDR addr, gdb_rsp_break_t bt, int kind)
 

Typedef Documentation

typedef gdb_rsp_handler_ret_t(* gdb_rsp_handler_t)(struct target *target, char *data, unsigned int len, void *handler_data)

Definition at line 52 of file target_gdb_rsp.h.

Enumeration Type Documentation

Enumerator
GDB_UNKNOWN 
GDB_PACKET 
GDB_NOTIFICATION 
GDB_ACK 
GDB_NAK 
GDB_INTERRUPT 

Definition at line 28 of file target_gdb_rsp.h.

Enumerator
GDB_RSP_BREAK_SW 
GDB_RSP_BREAK_HW 
GDB_RSP_BREAK_WATCH 
GDB_RSP_BREAK_RWATCH 
GDB_RSP_BREAK_AWATCH 

Definition at line 89 of file target_gdb_rsp.h.

Enumerator
GDB_RSP_HANDLER_ERR 
GDB_RSP_HANDLER_DONE 
GDB_RSP_HANDLER_MORE 
GDB_RSP_HANDLER_NOTMINE 

Definition at line 45 of file target_gdb_rsp.h.

Enumerator
GDB_RSP_STOP_UNKNOWN 
GDB_RSP_STOP_NONE 
GDB_RSP_STOP_SIGNAL 
GDB_RSP_STOP_WATCH 
GDB_RSP_STOP_RWATCH 
GDB_RSP_STOP_AWATCH 
GDB_RSP_STOP_LIBRARY 
GDB_RSP_STOP_REPLAYLOG 
GDB_RSP_STOP_EXITED 
GDB_RSP_STOP_TERMINATED 

Definition at line 55 of file target_gdb_rsp.h.

Function Documentation

int gdb_rsp_ack ( struct target target)

Definition at line 570 of file target_gdb_rsp.c.

int gdb_rsp_close ( struct target target,
int  stay_paused 
)

Definition at line 400 of file target_gdb_rsp.c.

int gdb_rsp_connect ( struct target target)

A partial implement of the GDB RSP. Doesn't bother with some things that only GDB servers need, like the ability to send notifications.

Definition at line 84 of file target_gdb_rsp.c.

int gdb_rsp_insert_break ( struct target target,
ADDR  addr,
gdb_rsp_break_t  bt,
int  kind 
)

Definition at line 2232 of file target_gdb_rsp.c.

int gdb_rsp_interrupt ( struct target target)

Definition at line 511 of file target_gdb_rsp.c.

target_status_t gdb_rsp_load_status ( struct target target)

Commands or command wrappers.

Definition at line 1794 of file target_gdb_rsp.c.

int gdb_rsp_nak ( struct target target)

Definition at line 586 of file target_gdb_rsp.c.

int gdb_rsp_pause ( struct target target)

Definition at line 1821 of file target_gdb_rsp.c.

int gdb_rsp_read_mem ( struct target target,
ADDR  addr,
unsigned long  length,
unsigned char *  buf 
)

Definition at line 2164 of file target_gdb_rsp.c.

int gdb_rsp_read_regs ( struct target target,
struct regcache regcache 
)

Definition at line 1955 of file target_gdb_rsp.c.

int gdb_rsp_recv ( struct target target,
int  blocking,
int  only_one,
gdb_ptype_t ptype 
)

Definition at line 919 of file target_gdb_rsp.c.

int gdb_rsp_recv_until_handled ( struct target target,
gdb_rsp_handler_t  handler,
gdb_rsp_handler_ret_t handler_ret 
)

Definition at line 1179 of file target_gdb_rsp.c.

int gdb_rsp_remove_break ( struct target target,
ADDR  addr,
gdb_rsp_break_t  bt,
int  kind 
)

Definition at line 2261 of file target_gdb_rsp.c.

int gdb_rsp_resume ( struct target target)

Definition at line 1834 of file target_gdb_rsp.c.

int gdb_rsp_send_packet ( struct target target,
char *  data,
unsigned int  len,
gdb_rsp_handler_t  handler,
void *  handler_data 
)

Definition at line 653 of file target_gdb_rsp.c.

int gdb_rsp_step ( struct target target)

Definition at line 1887 of file target_gdb_rsp.c.

int gdb_rsp_write_mem ( struct target target,
ADDR  addr,
unsigned long  length,
unsigned char *  buf 
)

Definition at line 2197 of file target_gdb_rsp.c.

int gdb_rsp_write_regs ( struct target target,
struct regcache regcache 
)

Definition at line 1975 of file target_gdb_rsp.c.