71 nc->
parse (nc, buf, event);
72 nc->
ack (nc, buf, event);
89 nc->
parse (nc, buf, event);
132 for (i = 0; i < ARRAY_SIZE (notifs); i++)
137 && buf[strlen (name)] ==
':')
143 if (i == ARRAY_SIZE (notifs))
155 "notif: ignoring resent notification\n");
212 "notif: Notification '%s' captured\n",
222 if (event != NULL && event->
dtr != NULL)
281 Set debugging of async remote notification."),
_(
"\
282 Show debugging of async remote notification."),
_(
"\
283 When non-zero, debugging output about async remote notifications"
static void remote_async_get_pending_events_handler(gdb_client_data data)
void remote_notif_process(struct remote_notif_state *state, struct notif_client *except)
static void do_notif_event_xfree(void *arg)
#define QUEUE_enque(TYPE, Q, V)
#define QUEUE_is_empty(TYPE, Q)
void delete_async_event_handler(async_event_handler **async_handler_ptr)
void mark_async_event_handler(async_event_handler *async_handler_ptr)
struct notif_event * pending_event[REMOTE_NOTIF_LAST]
void remote_notif_get_pending_events(struct notif_client *nc)
initialize_file_ftype _initialize_notif
int(* can_get_pending_events)(struct notif_client *self)
struct notif_event *(* alloc_event)(void)
struct notif_event * remote_notif_parse(struct notif_client *nc, char *buf)
void initialize_file_ftype(void)
void * xzalloc(size_t size)
void fprintf_unfiltered(struct ui_file *stream, const char *format,...)
async_event_handler * create_async_event_handler(async_event_handler_func *proc, gdb_client_data client_data)
void remote_notif_state_xfree(struct remote_notif_state *state)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
static int startswith(const char *string, const char *pattern)
#define QUEUE_deque(TYPE, Q)
struct cmd_list_element * setdebuglist
struct ui_file * gdb_stdlog
#define QUEUE_free(TYPE, Q)
struct notif_client notif_client_stop
#define QUEUE_alloc(TYPE, FREE_FUNC)
void remote_notif_ack(struct notif_client *nc, char *buf)
gdb_static_assert(ARRAY_SIZE(notifs)==REMOTE_NOTIF_LAST)
void discard_cleanups(struct cleanup *old_chain)
DEFINE_QUEUE_P(notif_client_p)
struct remote_notif_state * remote_notif_state_allocate(void)
void notif_event_xfree(struct notif_event *event)
void(* ack)(struct notif_client *self, char *buf, struct notif_event *event)
void handle_notification(struct remote_notif_state *state, char *buf)
struct cmd_list_element * showdebuglist
void(* dtr)(struct notif_event *self)
void(* parse)(struct notif_client *self, char *buf, struct notif_event *event)
struct async_event_handler * get_pending_events_token
void add_setshow_boolean_cmd(const char *name, enum command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)