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. */
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
/* An event loop listens for events from multiple event sources. When
an event arrives, it is queued and processed by calling the
typedef PTR gdb_client_data;
typedef struct gdb_event gdb_event;
-typedef void (file_handler_func) PARAMS ((gdb_client_data, int mask));
-typedef void (async_handler_func) PARAMS ((gdb_client_data));
+typedef void (handler_func) PARAMS ((gdb_client_data));
typedef void (event_handler_func) PARAMS ((int));
/* Event for the GDB event system. Events are queued by calling
int mask; /* Events we want to monitor: POLLIN, etc. */
int ready_mask; /* Events that have been seen since
the last time. */
- file_handler_func *proc; /* Procedure to call when fd is ready. */
+ handler_func *proc; /* Procedure to call when fd is ready. */
gdb_client_data client_data; /* Argument to pass to proc. */
struct file_handler *next_file; /* Next registered file descriptor. */
}
typedef struct async_signal_handler
{
- int ready; /* If ready, call this handler from the main event loop,
+ int ready; /* If ready, call this handler from the main event loop,
using invoke_async_handler. */
struct async_signal_handler *next_handler; /* Ptr to next handler */
- async_handler_func *proc; /* Function to call to do the work */
+ handler_func *proc; /* Function to call to do the work */
gdb_client_data client_data; /* Argument to async_handler_func */
}
async_signal_handler;
TAIL,
/* Add at head of queue. It will be processed in last in first out
order. */
- HEAD
+ HEAD
}
queue_position;
extern void start_event_loop PARAMS ((void));
extern void delete_file_handler PARAMS ((int));
-extern void add_file_handler PARAMS ((int, file_handler_func, gdb_client_data));
+extern void add_file_handler PARAMS ((int, void (*) (void), gdb_client_data));
extern void mark_async_signal_handler PARAMS ((async_signal_handler *));
extern async_signal_handler *
- create_async_signal_handler PARAMS ((async_handler_func *, gdb_client_data));
-extern void delete_async_signal_handler PARAMS ((async_signal_handler *async_handler_ptr));
+ create_async_signal_handler PARAMS ((handler_func *, gdb_client_data));
+extern void delete_async_signal_handler PARAMS ((async_signal_handler ** async_handler_ptr));
/* Exported functions from event-top.c.
FIXME: these should really go into top.h. */
-extern void display_gdb_prompt PARAMS ((char*));
+extern void display_gdb_prompt PARAMS ((char *));
extern void async_init_signals PARAMS ((void));
extern void set_async_editing_command PARAMS ((char *, int, struct cmd_list_element *));
extern void set_async_annotation_level PARAMS ((char *, int, struct cmd_list_element *));
extern void set_async_prompt PARAMS ((char *, int, struct cmd_list_element *));
extern void handle_stop_sig PARAMS ((int));
+extern void handle_sigint PARAMS ((int));
+extern void pop_prompt PARAMS ((void));
+extern void push_prompt PARAMS ((char *, char *, char *));
extern void gdb_readline2 PARAMS ((void));
/* Exported variables from event-top.c.
extern struct prompts the_prompts;
extern void (*call_readline) PARAMS ((void));
extern void (*input_handler) PARAMS ((char *));
+extern int input_fd;