darling-gdb/gdb/kod.h
1999-09-22 03:28:34 +00:00

62 lines
2.3 KiB
C

/* Kernel Object Display facility for Cisco
Copyright 1999 Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef KOD_H
#define KOD_H
typedef void kod_display_callback_ftype (char *);
typedef void kod_query_callback_ftype (char *, char *, int *);
/* ???/???: Functions imported from the library for all supported
OSes. FIXME: we really should do something better, such as
dynamically loading the KOD modules. */
/* FIXME: cagney/1999-09-20: The kod-cisco.c et.al. kernel modules
should register themselve with kod.c during the _initialization*()
phase. With that implemented the extern declarations below would
be replaced with the KOD register function that the various kernel
modules should call. An example of this mechanism can be seen in
gdbarch.c:register_gdbarch_init(). */
#if 0
/* Don't have ecos code yet. */
extern char *ecos_kod_open (kod_display_callback_ftype *display_func,
kod_query_callback_ftype *query_func);
extern void ecos_kod_request (char *, int);
extern void ecos_kod_close (void);
#endif
/* Initialize and return library name and version. The gdb side of
KOD, kod.c, passes us two functions: one for displaying output
(presumably to the user) and the other for querying the target. */
extern char *cisco_kod_open (kod_display_callback_ftype *display_func,
kod_query_callback_ftype *query_func);
/* Print information about currently known kernel objects. We
currently ignore the argument. There is only one mode of querying
the Cisco kernel: we ask for a dump of everything, and it returns
it. */
extern void cisco_kod_request (char *arg, int from_tty);
extern void cisco_kod_close (void);
#endif