OLD | NEW |
1 /* List lines of source files for GDB, the GNU debugger. | 1 /* List lines of source files for GDB, the GNU debugger. |
2 Copyright (C) 1999, 2007-2012 Free Software Foundation, Inc. | 2 Copyright (C) 1999, 2007-2012 Free Software Foundation, Inc. |
3 | 3 |
4 This file is part of GDB. | 4 This file is part of GDB. |
5 | 5 |
6 This program is free software; you can redistribute it and/or modify | 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 | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation; either version 3 of the License, or | 8 the Free Software Foundation; either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
11 This program is distributed in the hope that it will be useful, | 11 This program is distributed in the hope that it will be useful, |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 GNU General Public License for more details. | 14 GNU General Public License for more details. |
15 | 15 |
16 You should have received a copy of the GNU General Public License | 16 You should have received a copy of the GNU General Public License |
17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ | 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
18 | 18 |
19 #ifndef SOURCE_H | 19 #ifndef SOURCE_H |
20 #define SOURCE_H | 20 #define SOURCE_H |
21 | 21 |
22 struct symtab; | 22 struct symtab; |
23 | 23 |
| 24 /* This function is capable of finding the absolute path to a |
| 25 source file, and opening it, provided you give it a FILENAME. Both the |
| 26 DIRNAME and FULLNAME are only added suggestions on where to find the file. |
| 27 |
| 28 FILENAME should be the filename to open. |
| 29 DIRNAME is the compilation directory of a particular source file. |
| 30 Only some debug formats provide this info. |
| 31 FULLNAME can be the last known absolute path to the file in question. |
| 32 Space for the path must have been malloc'd. If a path substitution |
| 33 is applied we free the old value and set a new one. |
| 34 |
| 35 On Success |
| 36 A valid file descriptor is returned (the return value is positive). |
| 37 FULLNAME is set to the absolute path to the file just opened. |
| 38 The caller is responsible for freeing FULLNAME. |
| 39 |
| 40 On Failure |
| 41 An invalid file descriptor is returned (the return value is negative). |
| 42 FULLNAME is set to NULL. */ |
| 43 extern int find_and_open_source (const char *filename, |
| 44 const char *dirname, |
| 45 char **fullname); |
| 46 |
24 /* Open a source file given a symtab S. Returns a file descriptor or | 47 /* Open a source file given a symtab S. Returns a file descriptor or |
25 negative number for error. */ | 48 negative number for error. */ |
26 extern int open_source_file (struct symtab *s); | 49 extern int open_source_file (struct symtab *s); |
27 | 50 |
28 extern char* symtab_to_fullname (struct symtab *s); | 51 extern char* symtab_to_fullname (struct symtab *s); |
29 | 52 |
30 /* Create and initialize the table S->line_charpos that records the | 53 /* Create and initialize the table S->line_charpos that records the |
31 positions of the lines in the source file, which is assumed to be | 54 positions of the lines in the source file, which is assumed to be |
32 open on descriptor DESC. All set S->nlines to the number of such | 55 open on descriptor DESC. All set S->nlines to the number of such |
33 lines. */ | 56 lines. */ |
(...skipping 28 matching lines...) Expand all Loading... |
62 and set the current default to whatever is in SAL. | 85 and set the current default to whatever is in SAL. |
63 NOTE: The returned sal pc and end fields are not valid. */ | 86 NOTE: The returned sal pc and end fields are not valid. */ |
64 extern struct symtab_and_line set_current_source_symtab_and_line (const struct s
ymtab_and_line *); | 87 extern struct symtab_and_line set_current_source_symtab_and_line (const struct s
ymtab_and_line *); |
65 | 88 |
66 /* Reset any information stored about a default file and line to print. */ | 89 /* Reset any information stored about a default file and line to print. */ |
67 extern void clear_current_source_symtab_and_line (void); | 90 extern void clear_current_source_symtab_and_line (void); |
68 | 91 |
69 /* Add a source path substitution rule. */ | 92 /* Add a source path substitution rule. */ |
70 extern void add_substitute_path_rule (char *, char *); | 93 extern void add_substitute_path_rule (char *, char *); |
71 #endif | 94 #endif |
OLD | NEW |