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 62