GDB (API)
|
00001 /* Process record and replay target for GDB, the GNU debugger. 00002 00003 Copyright (C) 2008-2013 Free Software Foundation, Inc. 00004 00005 This file is part of GDB. 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00019 00020 #ifndef _RECORD_H_ 00021 #define _RECORD_H_ 00022 00023 struct cmd_list_element; 00024 00025 #define RECORD_IS_USED (current_target.to_stratum == record_stratum) 00026 00027 extern unsigned int record_debug; 00028 00029 /* Allow record targets to add their own sub-commands. */ 00030 extern struct cmd_list_element *record_cmdlist; 00031 extern struct cmd_list_element *set_record_cmdlist; 00032 extern struct cmd_list_element *show_record_cmdlist; 00033 extern struct cmd_list_element *info_record_cmdlist; 00034 00035 /* A list of flags specifying what record target methods should print. */ 00036 enum record_print_flag 00037 { 00038 /* Print the source file and line (if applicable). */ 00039 RECORD_PRINT_SRC_LINE = (1 << 0), 00040 00041 /* Print the instruction number range (if applicable). */ 00042 RECORD_PRINT_INSN_RANGE = (1 << 1), 00043 }; 00044 00045 /* Wrapper for target_read_memory that prints a debug message if 00046 reading memory fails. */ 00047 extern int record_read_memory (struct gdbarch *gdbarch, 00048 CORE_ADDR memaddr, gdb_byte *myaddr, 00049 ssize_t len); 00050 00051 /* The "record goto" command. */ 00052 extern void cmd_record_goto (char *arg, int from_tty); 00053 00054 /* The default "to_disconnect" target method for record targets. */ 00055 extern void record_disconnect (struct target_ops *, char *, int); 00056 00057 /* The default "to_detach" target method for record targets. */ 00058 extern void record_detach (struct target_ops *, char *, int); 00059 00060 /* The default "to_mourn_inferior" target method for record targets. */ 00061 extern void record_mourn_inferior (struct target_ops *); 00062 00063 /* The default "to_kill" target method for record targets. */ 00064 extern void record_kill (struct target_ops *); 00065 00066 #endif /* _RECORD_H_ */