]> git.gag.com Git - fw/openocd/blobdiff - src/server/gdb_server.h
improve gdb_init() sequence
[fw/openocd] / src / server / gdb_server.h
index fb4cdbab6becf713d84aab1218a02d4c8f221f65..041497510cd15b8ec865a13c807d29d8d0d47c1c 100644 (file)
 #ifndef GDB_SERVER_H
 #define GDB_SERVER_H
 
-#include "target.h"
-
-struct image_s;
+struct image;
 
 #define GDB_BUFFER_SIZE        16384
 
-typedef struct gdb_connection_s
+struct gdb_connection
 {
        char buffer[GDB_BUFFER_SIZE];
        char *buf_p;
        int buf_cnt;
        int ctrl_c;
        enum target_state frontend_state;
-       struct image_s *vflash_image;
+       struct image *vflash_image;
        int closed;
        int busy;
        int noack_mode;
-} gdb_connection_t;
+       bool sync;      /* set flag to true if you want the next stepi to return immediately.
+                      allowing GDB to pick up a fresh set of register values from the target
+                      without modifying the target state. */
+
+};
 
-typedef struct gdb_service_s
+struct gdb_service
 {
-       struct target_s *target;
-} gdb_service_t;
+       struct target *target;
+};
 
-extern int gdb_init(void);
-extern int gdb_register_commands(command_context_t *command_context);
+int gdb_target_add_one(struct target *target);
+int gdb_target_add_all(struct target *target);
+int gdb_register_commands(struct command_context *command_context);
 
 #define ERROR_GDB_BUFFER_TOO_SMALL (-800)
 #define ERROR_GDB_TIMEOUT (-801)