aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/server.h
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2010-05-03 20:53:21 +0000
committerDoug Evans <dje@google.com>2010-05-03 20:53:21 +0000
commit24b066ba2b90ef215c6c414ae1d15f79a8addefc (patch)
treef27d08952131519af6cbcb930aefad2ff9cd3496 /gdb/gdbserver/server.h
parent1ac77ea1639caba28809b36835f0c97c29a32378 (diff)
downloadgdb-24b066ba2b90ef215c6c414ae1d15f79a8addefc.zip
gdb-24b066ba2b90ef215c6c414ae1d15f79a8addefc.tar.gz
gdb-24b066ba2b90ef215c6c414ae1d15f79a8addefc.tar.bz2
* event-loop.c (struct callback_event): New struct.
(callback_list): New global. (append_callback_event, delete_callback_event): New functions. (process_callback): New function. (start_event_loop): Call it. * remote-utils.c (NOT_SCHEDULED): Define. (readchar_buf, readchar_bufcnt, readchar_bufp): New static globals, moved out of readchar. (readchar): Rewrite. Call reschedule before returning. (reset_readchar): New function. (remote_close): Call it. (process_remaining, reschedule): New functions. * server.h (callback_handler_func): New typedef. (append_callback_event, delete_callback_event): Declare.
Diffstat (limited to 'gdb/gdbserver/server.h')
-rw-r--r--gdb/gdbserver/server.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h
index e7cf1ce..b580bce 100644
--- a/gdb/gdbserver/server.h
+++ b/gdb/gdbserver/server.h
@@ -333,10 +333,14 @@ extern int non_stop;
/* Functions from event-loop.c. */
typedef void *gdb_client_data;
typedef int (handler_func) (int, gdb_client_data);
+typedef int (callback_handler_func) (gdb_client_data);
extern void delete_file_handler (int fd);
extern void add_file_handler (int fd, handler_func *proc,
gdb_client_data client_data);
+extern int append_callback_event (callback_handler_func *proc,
+ gdb_client_data client_data);
+extern void delete_callback_event (int id);
extern void start_event_loop (void);