X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fgdbserver%2Fserver.h;h=745d7b63f4b85ad0d22f599ffe004e9fa358a665;hb=9b254dd1ce46c19dde1dde5b8d1e22e862dfacce;hp=df676158817b1ea7ca549995134e01f3c88a431a;hpb=bce7165daae97585d93ac28361576feebcc80721;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h index df67615881..745d7b63f4 100644 --- a/gdb/gdbserver/server.h +++ b/gdb/gdbserver/server.h @@ -1,12 +1,12 @@ /* Common definitions for remote server for GDB. Copyright (C) 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, - 2006, 2007 Free Software Foundation, Inc. + 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GDB. 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 + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,19 +15,23 @@ GNU General Public License for more details. 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., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #ifndef SERVER_H #define SERVER_H #include "config.h" +#ifdef __MINGW32CE__ +#include "wincecompat.h" +#endif + #include #include #include +#ifdef HAVE_ERRNO_H #include +#endif #include #ifdef HAVE_STRING_H @@ -40,6 +44,12 @@ extern char *strerror (int); /* X3.159-1989 4.11.6.2 */ #endif #endif +#if !HAVE_DECL_PERROR +#ifndef perror +extern void perror (const char *); +#endif +#endif + #ifndef ATTR_NORETURN #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) #define ATTR_NORETURN __attribute__ ((noreturn)) @@ -79,6 +89,13 @@ struct inferior_list_entry /* Opaque type for user-visible threads. */ struct thread_info; +struct dll_info +{ + struct inferior_list_entry entry; + char *name; + CORE_ADDR base_addr; +}; + #include "regcache.h" #include "gdb/signals.h" @@ -92,6 +109,9 @@ void initialize_low (); /* From inferiors.c. */ extern struct inferior_list all_threads; +extern struct inferior_list all_dlls; +extern int dlls_changed; + void add_inferior_to_list (struct inferior_list *list, struct inferior_list_entry *new_inferior); void for_each_inferior (struct inferior_list *list, @@ -117,8 +137,11 @@ void *inferior_target_data (struct thread_info *); void set_inferior_target_data (struct thread_info *, void *); void *inferior_regcache_data (struct thread_info *); void set_inferior_regcache_data (struct thread_info *, void *); -void change_inferior_id (struct inferior_list *list, - unsigned long new_id); +void add_pid_to_list (struct inferior_list *list, unsigned long pid); +int pull_pid_from_list (struct inferior_list *list, unsigned long pid); + +void loaded_dll (const char *name, CORE_ADDR base_addr); +void unloaded_dll (const char *name, CORE_ADDR base_addr); /* Public variables in server.c */ @@ -133,6 +156,9 @@ extern int pass_signals[]; extern jmp_buf toplevel; +/* Functions from hostio.c. */ +extern int handle_vFile (char *, int, int *); + /* From remote-utils.c */ extern int remote_debug; @@ -145,10 +171,10 @@ void remote_open (char *name); void remote_close (void); void write_ok (char *buf); void write_enn (char *buf); +void initialize_async_io (void); void enable_async_io (void); void disable_async_io (void); -void unblock_async_io (void); -void block_async_io (void); +void check_remote_input_interrupt_request (void); void convert_ascii_to_int (char *from, unsigned char *to, int n); void convert_int_to_ascii (unsigned char *from, char *to, int n); void new_thread_notify (int id); @@ -163,6 +189,9 @@ void decode_M_packet (char *from, CORE_ADDR * mem_addr_ptr, unsigned int *len_ptr, unsigned char *to); int decode_X_packet (char *from, int packet_len, CORE_ADDR * mem_addr_ptr, unsigned int *len_ptr, unsigned char *to); +int decode_xfer_write (char *buf, int packet_len, char **annex, + CORE_ADDR *offset, unsigned int *len, + unsigned char *data); int unhexify (char *bin, const char *hex, int count); int hexify (char *hex, const char *bin, int count); @@ -174,6 +203,8 @@ int look_up_one_symbol (const char *name, CORE_ADDR *addrp); void monitor_output (const char *msg); +char *xml_escape_text (const char *text); + /* Functions from ``signals.c''. */ enum target_signal target_signal_from_host (int hostsig); int target_signal_to_host_p (enum target_signal oursig);