| /* Core file generic interface routines for BFD. |
| Copyright (C) 1990, 91, 92, 93, 94 Free Software Foundation, Inc. |
| Written by Cygnus Support. |
| |
| This file is part of BFD, the Binary File Descriptor library. |
| |
| 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
| |
| /* |
| SECTION |
| Core files |
| |
| DESCRIPTION |
| These are functions pertaining to core files. |
| */ |
| |
| #include "bfd.h" |
| #include "sysdep.h" |
| #include "libbfd.h" |
| |
| |
| /* |
| FUNCTION |
| bfd_core_file_failing_command |
| |
| SYNOPSIS |
| CONST char *bfd_core_file_failing_command(bfd *abfd); |
| |
| DESCRIPTION |
| Return a read-only string explaining which program was running |
| when it failed and produced the core file @var{abfd}. |
| |
| */ |
| |
| CONST char * |
| bfd_core_file_failing_command (abfd) |
| bfd *abfd; |
| { |
| if (abfd->format != bfd_core) { |
| bfd_set_error (bfd_error_invalid_operation); |
| return NULL; |
| } |
| return BFD_SEND (abfd, _core_file_failing_command, (abfd)); |
| } |
| |
| /* |
| FUNCTION |
| bfd_core_file_failing_signal |
| |
| SYNOPSIS |
| int bfd_core_file_failing_signal(bfd *abfd); |
| |
| DESCRIPTION |
| Returns the signal number which caused the core dump which |
| generated the file the BFD @var{abfd} is attached to. |
| */ |
| |
| int |
| bfd_core_file_failing_signal (abfd) |
| bfd *abfd; |
| { |
| if (abfd->format != bfd_core) { |
| bfd_set_error (bfd_error_invalid_operation); |
| return 0; |
| } |
| return BFD_SEND (abfd, _core_file_failing_signal, (abfd)); |
| } |
| |
| |
| /* |
| FUNCTION |
| core_file_matches_executable_p |
| |
| SYNOPSIS |
| boolean core_file_matches_executable_p |
| (bfd *core_bfd, bfd *exec_bfd); |
| |
| DESCRIPTION |
| Return <<true>> if the core file attached to @var{core_bfd} |
| was generated by a run of the executable file attached to |
| @var{exec_bfd}, <<false>> otherwise. |
| */ |
| boolean |
| core_file_matches_executable_p (core_bfd, exec_bfd) |
| bfd *core_bfd, *exec_bfd; |
| { |
| if ((core_bfd->format != bfd_core) || (exec_bfd->format != bfd_object)) { |
| bfd_set_error (bfd_error_wrong_format); |
| return false; |
| } |
| |
| return BFD_SEND (core_bfd, _core_file_matches_executable_p, |
| (core_bfd, exec_bfd)); |
| } |