X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fserver%2Fgdb_server.h;h=993984bc3814e34019f1f55b315c9c805cacd6a5;hp=860b29ca4a3cedad87259b3c125e984738640f33;hb=HEAD;hpb=8b4e882a1630d63bbc9840fa3f968e36b6ac3702 diff --git a/src/server/gdb_server.h b/src/server/gdb_server.h index 860b29ca4a..4288ceb878 100644 --- a/src/server/gdb_server.h +++ b/src/server/gdb_server.h @@ -1,47 +1,44 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + /*************************************************************************** * Copyright (C) 2005 by Dominic Rath * * Dominic.Rath@gmx.de * * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * Copyright (C) 2007-2009 Øyvind Harboe * + * oyvind.harboe@zylin.com * * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * + * Copyright (C) 2008 by Spencer Oliver * + * spen@spen-soft.co.uk * * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * Copyright (C) 2011 by Broadcom Corporation * + * Evan Hunter - ehunter@broadcom.com * ***************************************************************************/ -#ifndef GDB_SERVER_H -#define GDB_SERVER_H -#include "target.h" -#include "server.h" +#ifndef OPENOCD_SERVER_GDB_SERVER_H +#define OPENOCD_SERVER_GDB_SERVER_H -#define GDB_BUFFER_SIZE 2048 +struct image; +struct reg; +#include +#include -typedef struct gdb_connection_s -{ - char buffer[GDB_BUFFER_SIZE]; - char *buf_p; - int buf_cnt; - int ctrl_c; - enum target_state frontend_state; -} gdb_connection_t; - -typedef struct gdb_service_s -{ - struct target_s *target; -} gdb_service_t; +#define GDB_BUFFER_SIZE 16384 + +int gdb_target_add_all(struct target *target); +int gdb_register_commands(struct command_context *command_context); +void gdb_service_free(void); -extern int gdb_init(); -extern int gdb_register_commands(command_context_t *command_context); +int gdb_put_packet(struct connection *connection, char *buffer, int len); + +int gdb_get_actual_connections(void); + +static inline struct target *get_target_from_connection(struct connection *connection) +{ + struct gdb_service *gdb_service = connection->service->priv; + return gdb_service->target; +} #define ERROR_GDB_BUFFER_TOO_SMALL (-800) +#define ERROR_GDB_TIMEOUT (-801) -#endif /* GDB_SERVER_H */ +#endif /* OPENOCD_SERVER_GDB_SERVER_H */