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