1ed0d50c3Schristos /* Plugin support for BFD. 2*b88e3e88Schristos Copyright (C) 2009-2020 Free Software Foundation, Inc. 3ed0d50c3Schristos 4ed0d50c3Schristos This file is part of BFD, the Binary File Descriptor library. 5ed0d50c3Schristos 6ed0d50c3Schristos This program is free software; you can redistribute it and/or modify 7ed0d50c3Schristos it under the terms of the GNU General Public License as published by 8ed0d50c3Schristos the Free Software Foundation; either version 3 of the License, or 9ed0d50c3Schristos (at your option) any later version. 10ed0d50c3Schristos 11ed0d50c3Schristos This program is distributed in the hope that it will be useful, 12ed0d50c3Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 13ed0d50c3Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14ed0d50c3Schristos GNU General Public License for more details. 15ed0d50c3Schristos 16ed0d50c3Schristos You should have received a copy of the GNU General Public License 17ed0d50c3Schristos along with this program; if not, write to the Free Software 18ed0d50c3Schristos Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 19ed0d50c3Schristos MA 02110-1301, USA. */ 20ed0d50c3Schristos 21ed0d50c3Schristos #ifndef _PLUGIN_H_ 22ed0d50c3Schristos #define _PLUGIN_H_ 23ed0d50c3Schristos 24ed0d50c3Schristos void bfd_plugin_set_program_name (const char *); 2506324dcfSchristos int bfd_plugin_open_input (bfd *, struct ld_plugin_input_file *); 26ed0d50c3Schristos void bfd_plugin_set_plugin (const char *); 27ed0d50c3Schristos bfd_boolean bfd_plugin_target_p (const bfd_target *); 28ed0d50c3Schristos bfd_boolean bfd_plugin_specified_p (void); 29ed0d50c3Schristos bfd_boolean bfd_link_plugin_object_p (bfd *); 30ed0d50c3Schristos void register_ld_plugin_object_p (const bfd_target *(*object_p) (bfd *)); 31ed0d50c3Schristos 32ed0d50c3Schristos typedef struct plugin_data_struct 33ed0d50c3Schristos { 34ed0d50c3Schristos int nsyms; 35ed0d50c3Schristos const struct ld_plugin_symbol *syms; 36ed0d50c3Schristos } 37ed0d50c3Schristos plugin_data_struct; 38ed0d50c3Schristos 39ed0d50c3Schristos #endif 40