1/* objdump.h
2   Copyright (C) 2011-2020 Free Software Foundation, Inc.
3
4   This file is part of GNU Binutils.
5
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
8   the Free Software Foundation; either version 3, or (at your option)
9   any later version.
10
11   This program is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15
16   You should have received a copy of the GNU General Public License
17   along with this program; if not, write to the Free Software
18   Foundation, 51 Franklin Street - Fifth Floor, Boston,
19   MA 02110-1301, USA.  */
20
21struct objdump_private_option
22{
23  /* Option name.  */
24  const char *name;
25
26  /* TRUE if the option is selected.  Automatically set and cleared by
27     objdump.  */
28  unsigned int selected;
29};
30
31struct objdump_private_desc
32{
33  /* Help displayed for --help.  */
34  void (*help)(FILE *stream);
35
36  /* Return TRUE if these options can be applied to ABFD.  */
37  int (*filter)(bfd *abfd);
38
39  /* Do the actual work: display whatever is requested according to the
40     options whose SELECTED field is set.  */
41  void (*dump)(bfd *abfd);
42
43  /* List of options.  Terminated by a NULL name.  */
44  struct objdump_private_option *options;
45};
46/* ELF32_AVR specific target.  */
47extern const struct objdump_private_desc objdump_private_desc_elf32_avr;
48
49/* XCOFF specific target.  */
50extern const struct objdump_private_desc objdump_private_desc_xcoff;
51
52/* Mach-O specific target.  */
53extern const struct objdump_private_desc objdump_private_desc_mach_o;
54