| /* Machine independent variables that describe the core file under GDB. |
| Copyright 1986, 1987, 1989, 1990, 1992 Free Software Foundation, Inc. |
| |
| This file is part of GDB. |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 2 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ |
| |
| /* Interface routines for core, executable, etc. */ |
| |
| #if !defined (GDBCORE_H) |
| #define GDBCORE_H 1 |
| |
| #include "bfd.h" /* Binary File Description */ |
| |
| /* Return the name of the executable file as a string. |
| ERR nonzero means get error if there is none specified; |
| otherwise return 0 in that case. */ |
| |
| extern char * |
| get_exec_file PARAMS ((int err)); |
| |
| /* Nonzero if there is a core file. */ |
| |
| extern int |
| have_core_file_p PARAMS ((void)); |
| |
| /* Read "memory data" from whatever target or inferior we have. |
| Returns zero if successful, errno value if not. EIO is used |
| for address out of bounds. If breakpoints are inserted, returns |
| shadow contents, not the breakpoints themselves. From breakpoint.c. */ |
| |
| extern int |
| read_memory_nobpt PARAMS ((CORE_ADDR memaddr, char *myaddr, unsigned len)); |
| |
| /* Report a memory error with error(). */ |
| |
| extern void |
| memory_error PARAMS ((int status, CORE_ADDR memaddr)); |
| |
| /* Like target_read_memory, but report an error if can't read. */ |
| |
| extern void |
| read_memory PARAMS ((CORE_ADDR memaddr, char *myaddr, int len)); |
| |
| /* Read an integer from debugged memory, given address and number of bytes. */ |
| |
| extern long |
| read_memory_integer PARAMS ((CORE_ADDR memaddr, int len)); |
| |
| /* If this is prototyped, need to deal with void* vs. char*. */ |
| |
| extern void |
| write_memory PARAMS ((CORE_ADDR memaddr, char *myaddr, int len)); |
| |
| /* Hook for `exec_file_command' command to call. */ |
| |
| extern void (*exec_file_display_hook) PARAMS ((char *filename)); |
| |
| extern void |
| specify_exec_file_hook PARAMS ((void (*hook) (char *filename))); |
| |
| /* Binary File Diddlers for the exec and core files */ |
| extern bfd *core_bfd; |
| extern bfd *exec_bfd; |
| |
| /* Whether to open exec and core files read-only or read-write. */ |
| |
| extern int write_files; |
| |
| extern void |
| core_file_command PARAMS ((char *filename, int from_tty)); |
| |
| extern void |
| exec_file_command PARAMS ((char *filename, int from_tty)); |
| |
| extern void |
| validate_files PARAMS ((void)); |
| |
| extern unsigned int |
| register_addr PARAMS ((int regno, int blockend)); |
| |
| extern int |
| xfer_core_file PARAMS ((CORE_ADDR memaddr, char *myaddr, int len)); |
| |
| extern void |
| fetch_core_registers PARAMS ((char *core_reg_sect, unsigned core_reg_size, |
| int which, unsigned int reg_addr)); |
| |
| extern void |
| registers_fetched PARAMS ((void)); |
| |
| #if !defined (KERNEL_U_ADDR) |
| extern CORE_ADDR kernel_u_addr; |
| #define KERNEL_U_ADDR kernel_u_addr |
| #endif |
| |
| /* The target vector for core files */ |
| extern struct target_ops core_ops; |
| |
| /* target vector functions called directly from elsewhere */ |
| void |
| core_open PARAMS ((char *, int)); |
| |
| void |
| core_detach PARAMS ((char *, int)); |
| |
| #endif /* !defined (GDBCORE_H) */ |