GDBserver
Classes | Defines | Typedefs | Functions | Variables
/home/stan/gdb/src/gdb/gdbserver/event-loop.c File Reference
#include "server.h"
#include "queue.h"
#include <sys/types.h>
#include <string.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

Defines

#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_eventgdb_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_eventcreate_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 Documentation

#define GDB_EXCEPTION   (1<<3)
#define GDB_READABLE   (1<<1)
#define GDB_WRITABLE   (1<<2)

Definition at line 45 of file event-loop.c.

Referenced by create_file_handler(), delete_file_handler(), and wait_for_event().


Typedef Documentation

Definition at line 40 of file event-loop.c.

typedef struct file_handler file_handler
typedef struct gdb_event gdb_event

Definition at line 39 of file event-loop.c.

typedef struct gdb_event * gdb_event_p

Function Documentation

void add_file_handler ( gdb_fildes_t  fd,
handler_func proc,
gdb_client_data  client_data 
)

Definition at line 330 of file event-loop.c.

References create_file_handler(), GDB_EXCEPTION, and GDB_READABLE.

Referenced by handle_accept_event(), linux_async(), and remote_open().

static gdb_event* create_file_event ( gdb_fildes_t  fd) [static]

Definition at line 451 of file event-loop.c.

References gdb_event::fd, handle_file_event(), gdb_event::proc, and xmalloc().

Referenced by wait_for_event().

static void create_file_handler ( gdb_fildes_t  fd,
int  mask,
handler_func proc,
gdb_client_data  client_data 
) [static]
void delete_callback_event ( int  id)

Definition at line 224 of file event-loop.c.

References callback_list, callback_event::id, and callback_event::next.

Referenced by reset_readchar().

static void gdb_event_xfree ( struct gdb_event event) [static]

Definition at line 157 of file event-loop.c.

References xfree().

Referenced by initialize_event_loop(), and process_event().

static int handle_file_event ( gdb_fildes_t  event_file_desc) [static]
void initialize_event_loop ( void  )

Definition at line 163 of file event-loop.c.

References gdb_event_xfree(), and QUEUE_alloc.

Referenced by main().

static int process_callback ( void  ) [static]
static int process_event ( void  ) [static]
static QUEUE ( gdb_event_p  ) [static]

Definition at line 98 of file event-loop.c.

void start_event_loop ( void  )

Definition at line 542 of file event-loop.c.

References process_callback(), process_event(), and wait_for_event().

Referenced by main().

static int wait_for_event ( void  ) [static]

Variable Documentation

struct { ... } callback_list [static]

Definition at line 146 of file event-loop.c.

Definition at line 147 of file event-loop.c.

Referenced by cmd_qtdpsrc().

Definition at line 150 of file event-loop.c.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines