GDBserver
|
#include "server.h"
#include "queue.h"
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
Go to the source code of this file.
Classes | |
struct | gdb_event |
struct | file_handler |
struct | callback_event |
Macros | |
#define | GDB_READABLE (1<<1) |
#define | GDB_WRITABLE (1<<2) |
#define | GDB_EXCEPTION (1<<3) |
Typedefs | |
typedef struct gdb_event | gdb_event |
typedef int( | event_handler_func) (gdb_fildes_t) |
typedef struct gdb_event * | gdb_event_p |
typedef struct file_handler | file_handler |
Functions | |
DECLARE_QUEUE_P (gdb_event_p) | |
static | QUEUE (gdb_event_p) |
static void | gdb_event_xfree (struct gdb_event *event) |
void | initialize_event_loop (void) |
static int | process_event (void) |
int | append_callback_event (callback_handler_func *proc, gdb_client_data data) |
void | delete_callback_event (int id) |
static int | process_callback (void) |
static void | create_file_handler (gdb_fildes_t fd, int mask, handler_func *proc, gdb_client_data client_data) |
void | add_file_handler (gdb_fildes_t fd, handler_func *proc, gdb_client_data client_data) |
void | delete_file_handler (gdb_fildes_t fd) |
static int | handle_file_event (gdb_fildes_t event_file_desc) |
static gdb_event * | create_file_event (gdb_fildes_t fd) |
static int | wait_for_event (void) |
void | start_event_loop (void) |
Variables | |
gdb_notifier | |
struct { | |
struct callback_event * first | |
struct callback_event * last | |
int num_callbacks | |
} | callback_list |
#define GDB_EXCEPTION (1<<3) |
Definition at line 41 of file event-loop.c.
Referenced by add_file_handler(), create_file_handler(), delete_file_handler(), handle_file_event(), and wait_for_event().
#define GDB_READABLE (1<<1) |
Definition at line 39 of file event-loop.c.
Referenced by add_file_handler(), create_file_handler(), delete_file_handler(), and wait_for_event().
#define GDB_WRITABLE (1<<2) |
Definition at line 40 of file event-loop.c.
Referenced by create_file_handler(), delete_file_handler(), and wait_for_event().
typedef int( event_handler_func) (gdb_fildes_t) |
Definition at line 35 of file event-loop.c.
typedef struct file_handler file_handler |
Definition at line 34 of file event-loop.c.
typedef struct gdb_event * gdb_event_p |
void add_file_handler | ( | gdb_fildes_t | fd, |
handler_func * | proc, | ||
gdb_client_data | client_data | ||
) |
Definition at line 325 of file event-loop.c.
References create_file_handler(), GDB_EXCEPTION, and GDB_READABLE.
Referenced by handle_accept_event(), linux_async(), and remote_open().
int append_callback_event | ( | callback_handler_func * | proc, |
gdb_client_data | data | ||
) |
Definition at line 198 of file event-loop.c.
References callback_list, callback_event::data, callback_event::id, callback_event::next, callback_event::proc, and xmalloc().
Referenced by reschedule().
|
static |
Definition at line 446 of file event-loop.c.
References gdb_event::fd, handle_file_event(), gdb_event::proc, and xmalloc().
Referenced by wait_for_event().
|
static |
Definition at line 275 of file event-loop.c.
References file_handler::client_data, file_handler::fd, GDB_EXCEPTION, gdb_notifier, GDB_READABLE, GDB_WRITABLE, file_handler::mask, file_handler::next_file, file_handler::proc, callback_event::proc, file_handler::ready_mask, and xmalloc().
Referenced by add_file_handler().
DECLARE_QUEUE_P | ( | gdb_event_p | ) |
void delete_callback_event | ( | int | id | ) |
Definition at line 219 of file event-loop.c.
References callback_list, callback_event::id, and callback_event::next.
Referenced by reset_readchar().
void delete_file_handler | ( | gdb_fildes_t | fd | ) |
Definition at line 335 of file event-loop.c.
References file_handler::fd, GDB_EXCEPTION, gdb_notifier, GDB_READABLE, GDB_WRITABLE, file_handler::mask, and file_handler::next_file.
Referenced by handle_accept_event(), linux_async(), and remote_close().
|
static |
Definition at line 152 of file event-loop.c.
References xfree().
Referenced by initialize_event_loop(), and process_event().
|
static |
Definition at line 398 of file event-loop.c.
References file_handler::client_data, file_handler::error, file_handler::fd, GDB_EXCEPTION, gdb_notifier, file_handler::mask, file_handler::next_file, pfildes(), file_handler::proc, and file_handler::ready_mask.
Referenced by create_file_event().
void initialize_event_loop | ( | void | ) |
Definition at line 158 of file event-loop.c.
References gdb_event_xfree(), and QUEUE_alloc.
Referenced by captured_main().
|
static |
Definition at line 244 of file event-loop.c.
References callback_list, callback_event::data, callback_event::next, and callback_event::proc.
Referenced by start_event_loop().
|
static |
Definition at line 169 of file event-loop.c.
References gdb_event::fd, gdb_event_xfree(), gdb_event::proc, callback_event::proc, QUEUE_deque, and QUEUE_is_empty.
Referenced by start_event_loop().
|
static |
Definition at line 93 of file event-loop.c.
void start_event_loop | ( | void | ) |
Definition at line 537 of file event-loop.c.
References process_callback(), process_event(), and wait_for_event().
Referenced by captured_main().
|
static |
Definition at line 463 of file event-loop.c.
References create_file_event(), errno, file_handler::fd, GDB_EXCEPTION, gdb_notifier, GDB_READABLE, GDB_WRITABLE, file_handler::next_file, perror_with_name(), QUEUE_enque, and file_handler::ready_mask.
Referenced by start_event_loop().
struct { ... } callback_list |
Referenced by append_callback_event(), delete_callback_event(), and process_callback().
struct callback_event* first |
Definition at line 141 of file event-loop.c.
gdb_notifier |
Definition at line 117 of file event-loop.c.
Referenced by create_file_handler(), delete_file_handler(), handle_file_event(), and wait_for_event().
struct callback_event* last |
Definition at line 142 of file event-loop.c.
Referenced by cmd_qtdpsrc().
int num_callbacks |
Definition at line 145 of file event-loop.c.