xref: /dflybsd-src/contrib/gdb-7/gdb/psymtab.h (revision de8e141f24382815c10a4012d209bbbf7abf1112)
1cf7f2e2dSJohn Marino /* Public partial symbol table definitions.
2cf7f2e2dSJohn Marino 
3*ef5ccd6cSJohn Marino    Copyright (C) 2009-2013 Free Software Foundation, Inc.
4cf7f2e2dSJohn Marino 
5cf7f2e2dSJohn Marino    This file is part of GDB.
6cf7f2e2dSJohn Marino 
7cf7f2e2dSJohn Marino    This program is free software; you can redistribute it and/or modify
8cf7f2e2dSJohn Marino    it under the terms of the GNU General Public License as published by
9cf7f2e2dSJohn Marino    the Free Software Foundation; either version 3 of the License, or
10cf7f2e2dSJohn Marino    (at your option) any later version.
11cf7f2e2dSJohn Marino 
12cf7f2e2dSJohn Marino    This program is distributed in the hope that it will be useful,
13cf7f2e2dSJohn Marino    but WITHOUT ANY WARRANTY; without even the implied warranty of
14cf7f2e2dSJohn Marino    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15cf7f2e2dSJohn Marino    GNU General Public License for more details.
16cf7f2e2dSJohn Marino 
17cf7f2e2dSJohn Marino    You should have received a copy of the GNU General Public License
18cf7f2e2dSJohn Marino    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19cf7f2e2dSJohn Marino 
20cf7f2e2dSJohn Marino #ifndef PSYMTAB_H
21cf7f2e2dSJohn Marino #define PSYMTAB_H
22cf7f2e2dSJohn Marino 
23a45ae5f8SJohn Marino #include "symfile.h"
24a45ae5f8SJohn Marino 
25c50c785cSJohn Marino /* A bcache for partial symbols.  */
26c50c785cSJohn Marino 
27c50c785cSJohn Marino struct psymbol_bcache;
28c50c785cSJohn Marino 
29c50c785cSJohn Marino extern struct psymbol_bcache *psymbol_bcache_init (void);
30c50c785cSJohn Marino extern void psymbol_bcache_free (struct psymbol_bcache *);
31c50c785cSJohn Marino extern struct bcache *psymbol_bcache_get_bcache (struct psymbol_bcache *);
32c50c785cSJohn Marino 
33*ef5ccd6cSJohn Marino void expand_partial_symbol_names (int (*fun) (const char *, void *),
34c50c785cSJohn Marino 				  void *data);
35cf7f2e2dSJohn Marino 
36a45ae5f8SJohn Marino void map_partial_symbol_filenames (symbol_filename_ftype *fun, void *data,
37a45ae5f8SJohn Marino 				   int need_fullname);
38cf7f2e2dSJohn Marino 
39cf7f2e2dSJohn Marino extern const struct quick_symbol_functions psym_functions;
40cf7f2e2dSJohn Marino 
41c50c785cSJohn Marino extern const struct quick_symbol_functions dwarf2_gdb_index_functions;
42c50c785cSJohn Marino 
43c50c785cSJohn Marino /* Ensure that the partial symbols for OBJFILE have been loaded.  If
44c50c785cSJohn Marino    VERBOSE is non-zero, then this will print a message when symbols
45c50c785cSJohn Marino    are loaded.  This function always returns its argument, as a
46c50c785cSJohn Marino    convenience.  */
47c50c785cSJohn Marino 
48c50c785cSJohn Marino extern struct objfile *require_partial_symbols (struct objfile *objfile,
49c50c785cSJohn Marino 						int verbose);
50c50c785cSJohn Marino 
51cf7f2e2dSJohn Marino #endif /* PSYMTAB_H */
52