Import gdb-7.0
[dragonfly.git] / contrib / gdb-6.2.1 / gdb / kod.h
1 /* Kernel Object Display facility for Cisco
2    Copyright 1999 Free Software Foundation, Inc.
3    
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
19
20 #ifndef KOD_H
21 #define KOD_H
22
23 typedef void kod_display_callback_ftype (char *);
24 typedef void kod_query_callback_ftype (char *, char *, int *);
25
26 /* ???/???: Functions imported from the library for all supported
27    OSes.  FIXME: we really should do something better, such as
28    dynamically loading the KOD modules.  */
29
30 /* FIXME: cagney/1999-09-20: The kod-cisco.c et.al. kernel modules
31    should register themselve with kod.c during the _initialization*()
32    phase.  With that implemented the extern declarations below would
33    be replaced with the KOD register function that the various kernel
34    modules should call.  An example of this mechanism can be seen in
35    gdbarch.c:register_gdbarch_init(). */
36
37 #if 0
38 /* Don't have ecos code yet. */
39 extern char *ecos_kod_open (kod_display_callback_ftype *display_func,
40                             kod_query_callback_ftype *query_func);
41 extern void ecos_kod_request (char *, int);
42 extern void ecos_kod_close (void);
43 #endif
44
45 /* Initialize and return library name and version.  The gdb side of
46    KOD, kod.c, passes us two functions: one for displaying output
47    (presumably to the user) and the other for querying the target.  */
48
49 extern char *cisco_kod_open (kod_display_callback_ftype *display_func,
50                              kod_query_callback_ftype *query_func);
51
52 /* Print information about currently known kernel objects.  We
53    currently ignore the argument.  There is only one mode of querying
54    the Cisco kernel: we ask for a dump of everything, and it returns
55    it.  */
56
57 extern void cisco_kod_request (char *arg, int from_tty);
58
59 extern void cisco_kod_close (void);
60
61 #endif