|
|
1.1 root 1: /* Basic definitions for GDB, the GNU debugger.
2: Copyright (C) 1986 Free Software Foundation, Inc.
3:
4: GDB is distributed in the hope that it will be useful, but WITHOUT ANY
5: WARRANTY. No author or distributor accepts responsibility to anyone
6: for the consequences of using it or for whether it serves any
7: particular purpose or works at all, unless he says so in writing.
8: Refer to the GDB General Public License for full details.
9:
10: Everyone is granted permission to copy, modify and redistribute GDB,
11: but only under the conditions described in the GDB General Public
12: License. A copy of this license is supposed to have been given to you
13: along with GDB so you can know your rights and responsibilities. It
14: should be in a file named COPYING. Among other things, the copyright
15: notice and this notice must be preserved on all copies.
16:
17: In other words, go ahead and share GDB, but don't try to stop
18: anyone else from sharing it farther. Help stamp out software hoarding!
19: */
20:
21: #define CORE_ADDR unsigned int
22:
23: #define min(a, b) ((a) < (b) ? (a) : (b))
24: #define max(a, b) ((a) > (b) ? (a) : (b))
25:
26: extern char *savestring ();
27: extern char *concat ();
28: extern char *xmalloc (), *xrealloc ();
29: extern char *alloca ();
30: extern int parse_escape ();
31: extern char *reg_names[];
32:
33: extern int quit_flag;
34:
35: extern int immediate_quit;
36:
37: #define QUIT { if (quit_flag) quit (); }
38:
39: enum command_class
40: {
41: class_run, class_vars, class_stack, class_files, class_support, class_info,
42: class_breakpoint, class_alias, class_obscure, class_user,
43: };
44:
45: /* the cleanup list records things that have to be undone
46: if an error happens (descriptors to be closed, memory to be freed, etc.)
47: Each link in the chain records a function to call and an
48: argument to give it.
49:
50: Use make_cleanup to add an element to the cleanup chain.
51: Use do_cleanups to do all cleanup actions back to a given
52: point in the chain. Use discard_cleanups to remove cleanups
53: from the chain back to a given point, not doing them. */
54:
55: struct cleanup
56: {
57: struct cleanup *next;
58: void (*function) ();
59: int arg;
60: };
61:
62: extern void do_cleanups ();
63: extern void discard_cleanups ();
64: extern struct cleanup *make_cleanup ();
65: extern void free_current_contents ();
66:
67: /* Structure for saved commands lines
68: (for breakpoints, defined commands, etc). */
69:
70: struct command_line
71: {
72: struct command_line *next;
73: char *line;
74: };
75:
76: struct command_line *read_command_lines ();
77:
78: /* String containing the current directory (what getwd would return). */
79:
80: char *current_directory;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.