OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.3/] [gdb/] [gdb-events.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1181 sfurman
/* User Interface Events.
2
 
3
   Copyright 1999, 2001, 2002 Free Software Foundation, Inc.
4
 
5
   Contributed by Cygnus Solutions.
6
 
7
   This file is part of GDB.
8
 
9
   This program is free software; you can redistribute it and/or modify
10
   it under the terms of the GNU General Public License as published by
11
   the Free Software Foundation; either version 2 of the License, or
12
   (at your option) any later version.
13
 
14
   This program is distributed in the hope that it will be useful,
15
   but WITHOUT ANY WARRANTY; without even the implied warranty of
16
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
   GNU General Public License for more details.
18
 
19
   You should have received a copy of the GNU General Public License
20
   along with this program; if not, write to the Free Software
21
   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
22
 
23
/* Work in progress */
24
 
25
/* This file was created with the aid of ``gdb-events.sh''.
26
 
27
   The bourn shell script ``gdb-events.sh'' creates the files
28
   ``new-gdb-events.c'' and ``new-gdb-events.h and then compares
29
   them against the existing ``gdb-events.[hc]''.  Any differences
30
   found being reported.
31
 
32
   If editing this file, please also run gdb-events.sh and merge any
33
   changes into that script. Conversely, when making sweeping changes
34
   to this file, modifying gdb-events.sh and using its output may
35
   prove easier. */
36
 
37
 
38
#ifndef GDB_EVENTS_H
39
#define GDB_EVENTS_H
40
 
41
#ifndef WITH_GDB_EVENTS
42
#define WITH_GDB_EVENTS 1
43
#endif
44
 
45
 
46
/* COMPAT: pointer variables for old, unconverted events.
47
   A call to set_gdb_events() will automatically update these. */
48
 
49
 
50
 
51
/* Type definition of all hook functions.
52
   Recommended pratice is to first declare each hook function using
53
   the below ftype and then define it. */
54
 
55
typedef void (gdb_events_breakpoint_create_ftype) (int b);
56
typedef void (gdb_events_breakpoint_delete_ftype) (int b);
57
typedef void (gdb_events_breakpoint_modify_ftype) (int b);
58
typedef void (gdb_events_tracepoint_create_ftype) (int number);
59
typedef void (gdb_events_tracepoint_delete_ftype) (int number);
60
typedef void (gdb_events_tracepoint_modify_ftype) (int number);
61
typedef void (gdb_events_architecture_changed_ftype) (void);
62
typedef void (gdb_events_target_changed_ftype) (void);
63
typedef void (gdb_events_selected_frame_level_changed_ftype) (int level);
64
 
65
 
66
/* gdb-events: object. */
67
 
68
struct gdb_events
69
  {
70
    gdb_events_breakpoint_create_ftype *breakpoint_create;
71
    gdb_events_breakpoint_delete_ftype *breakpoint_delete;
72
    gdb_events_breakpoint_modify_ftype *breakpoint_modify;
73
    gdb_events_tracepoint_create_ftype *tracepoint_create;
74
    gdb_events_tracepoint_delete_ftype *tracepoint_delete;
75
    gdb_events_tracepoint_modify_ftype *tracepoint_modify;
76
    gdb_events_architecture_changed_ftype *architecture_changed;
77
    gdb_events_target_changed_ftype *target_changed;
78
    gdb_events_selected_frame_level_changed_ftype *selected_frame_level_changed;
79
  };
80
 
81
 
82
/* Interface into events functions.
83
   Where a *_p() predicate is present, it must be called before
84
   calling the hook proper. */
85
extern void breakpoint_create_event (int b);
86
extern void breakpoint_delete_event (int b);
87
extern void breakpoint_modify_event (int b);
88
extern void tracepoint_create_event (int number);
89
extern void tracepoint_delete_event (int number);
90
extern void tracepoint_modify_event (int number);
91
extern void architecture_changed_event (void);
92
extern void target_changed_event (void);
93
extern void selected_frame_level_changed_event (int level);
94
 
95
 
96
/* When GDB_EVENTS are not being used, completly disable them. */
97
 
98
#if !WITH_GDB_EVENTS
99
#define breakpoint_create_event(b) 0
100
#define breakpoint_delete_event(b) 0
101
#define breakpoint_modify_event(b) 0
102
#define tracepoint_create_event(number) 0
103
#define tracepoint_delete_event(number) 0
104
#define tracepoint_modify_event(number) 0
105
#define architecture_changed_event() 0
106
#define target_changed_event() 0
107
#define selected_frame_level_changed_event(level) 0
108
#endif
109
 
110
/* Install custom gdb-events hooks. */
111
extern struct gdb_events *set_gdb_event_hooks (struct gdb_events *vector);
112
 
113
/* Deliver any pending events. */
114
extern void gdb_events_deliver (struct gdb_events *vector);
115
 
116
/* Clear event handlers */
117
extern void clear_gdb_event_hooks (void);
118
 
119
#if !WITH_GDB_EVENTS
120
#define set_gdb_events(x) 0
121
#define set_gdb_event_hooks(x) 0
122
#define gdb_events_deliver(x) 0
123
#endif
124
 
125
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.