198944Sobrien/* Kernel Object Display facility for Cisco 298944Sobrien Copyright 1999 Free Software Foundation, Inc. 398944Sobrien 498944SobrienThis file is part of GDB. 598944Sobrien 698944SobrienThis program is free software; you can redistribute it and/or modify 798944Sobrienit under the terms of the GNU General Public License as published by 898944Sobrienthe Free Software Foundation; either version 2 of the License, or 998944Sobrien(at your option) any later version. 1098944Sobrien 1198944SobrienThis program is distributed in the hope that it will be useful, 1298944Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of 1398944SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1498944SobrienGNU General Public License for more details. 1598944Sobrien 1698944SobrienYou should have received a copy of the GNU General Public License 1798944Sobrienalong with this program; if not, write to the Free Software 1898944SobrienFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 1998944Sobrien 2098944Sobrien#ifndef KOD_H 2198944Sobrien#define KOD_H 2298944Sobrien 2398944Sobrientypedef void kod_display_callback_ftype (char *); 2498944Sobrientypedef void kod_query_callback_ftype (char *, char *, int *); 2598944Sobrien 2698944Sobrien/* ???/???: Functions imported from the library for all supported 2798944Sobrien OSes. FIXME: we really should do something better, such as 2898944Sobrien dynamically loading the KOD modules. */ 2998944Sobrien 3098944Sobrien/* FIXME: cagney/1999-09-20: The kod-cisco.c et.al. kernel modules 3198944Sobrien should register themselve with kod.c during the _initialization*() 3298944Sobrien phase. With that implemented the extern declarations below would 3398944Sobrien be replaced with the KOD register function that the various kernel 3498944Sobrien modules should call. An example of this mechanism can be seen in 3598944Sobrien gdbarch.c:register_gdbarch_init(). */ 3698944Sobrien 3798944Sobrien#if 0 3898944Sobrien/* Don't have ecos code yet. */ 3998944Sobrienextern char *ecos_kod_open (kod_display_callback_ftype *display_func, 4098944Sobrien kod_query_callback_ftype *query_func); 4198944Sobrienextern void ecos_kod_request (char *, int); 4298944Sobrienextern void ecos_kod_close (void); 4398944Sobrien#endif 4498944Sobrien 4598944Sobrien/* Initialize and return library name and version. The gdb side of 4698944Sobrien KOD, kod.c, passes us two functions: one for displaying output 4798944Sobrien (presumably to the user) and the other for querying the target. */ 4898944Sobrien 4998944Sobrienextern char *cisco_kod_open (kod_display_callback_ftype *display_func, 5098944Sobrien kod_query_callback_ftype *query_func); 5198944Sobrien 5298944Sobrien/* Print information about currently known kernel objects. We 5398944Sobrien currently ignore the argument. There is only one mode of querying 5498944Sobrien the Cisco kernel: we ask for a dump of everything, and it returns 5598944Sobrien it. */ 5698944Sobrien 5798944Sobrienextern void cisco_kod_request (char *arg, int from_tty); 5898944Sobrien 5998944Sobrienextern void cisco_kod_close (void); 6098944Sobrien 6198944Sobrien#endif 62