1f7cc78ecSespie /* pe-dll.h: Header file for routines used to build Windows DLLs. 2*cf2f2c56Smiod Copyright 1999, 2000, 2002, 2003 Free Software Foundation, Inc. 3f7cc78ecSespie 4f7cc78ecSespie This file is part of GLD, the Gnu Linker. 5f7cc78ecSespie 6f7cc78ecSespie GLD is free software; you can redistribute it and/or modify 7f7cc78ecSespie it under the terms of the GNU General Public License as published by 8f7cc78ecSespie the Free Software Foundation; either version 2, or (at your option) 9f7cc78ecSespie any later version. 10f7cc78ecSespie 11f7cc78ecSespie GLD is distributed in the hope that it will be useful, 12f7cc78ecSespie but WITHOUT ANY WARRANTY; without even the implied warranty of 13f7cc78ecSespie MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14f7cc78ecSespie GNU General Public License for more details. 15f7cc78ecSespie 16f7cc78ecSespie You should have received a copy of the GNU General Public License 17f7cc78ecSespie along with GLD; see the file COPYING. If not, write to the Free 18f7cc78ecSespie Software Foundation, 59 Temple Place - Suite 330, Boston, MA 19f7cc78ecSespie 02111-1307, USA. */ 20f7cc78ecSespie 21f7cc78ecSespie #ifndef PE_DLL_H 22f7cc78ecSespie #define PE_DLL_H 23f7cc78ecSespie 24f7cc78ecSespie #include "bfd.h" 25f7cc78ecSespie #include "sysdep.h" 26f7cc78ecSespie #include "bfdlink.h" 27f7cc78ecSespie #include "deffile.h" 28f7cc78ecSespie 29f7cc78ecSespie extern def_file *pe_def_file; 30f7cc78ecSespie extern int pe_dll_export_everything; 31f7cc78ecSespie extern int pe_dll_do_default_excludes; 32f7cc78ecSespie extern int pe_dll_kill_ats; 33f7cc78ecSespie extern int pe_dll_stdcall_aliases; 34f7cc78ecSespie extern int pe_dll_warn_dup_exports; 35f7cc78ecSespie extern int pe_dll_compat_implib; 36d2201f2fSdrahn extern int pe_dll_extra_pe_debug; 37f7cc78ecSespie 38d2201f2fSdrahn extern void pe_dll_id_target 39*cf2f2c56Smiod (const char *); 40d2201f2fSdrahn extern void pe_dll_add_excludes 41*cf2f2c56Smiod (const char *, const int); 42d2201f2fSdrahn extern void pe_dll_generate_def_file 43*cf2f2c56Smiod (const char *); 44d2201f2fSdrahn extern void pe_dll_generate_implib 45*cf2f2c56Smiod (def_file *, const char *); 46d2201f2fSdrahn extern void pe_process_import_defs 47*cf2f2c56Smiod (bfd *, struct bfd_link_info *); 48d2201f2fSdrahn extern bfd_boolean pe_implied_import_dll 49*cf2f2c56Smiod (const char *); 50d2201f2fSdrahn extern void pe_dll_build_sections 51*cf2f2c56Smiod (bfd *, struct bfd_link_info *); 52d2201f2fSdrahn extern void pe_exe_build_sections 53*cf2f2c56Smiod (bfd *, struct bfd_link_info *); 54d2201f2fSdrahn extern void pe_dll_fill_sections 55*cf2f2c56Smiod (bfd *, struct bfd_link_info *); 56d2201f2fSdrahn extern void pe_exe_fill_sections 57*cf2f2c56Smiod (bfd *, struct bfd_link_info *); 58d2201f2fSdrahn extern void pe_walk_relocs_of_symbol 59*cf2f2c56Smiod (struct bfd_link_info *, const char *, int (*) (arelent *, asection *)); 60d2201f2fSdrahn extern void pe_create_import_fixup 61*cf2f2c56Smiod (arelent * rel, asection *, int); 62f7cc78ecSespie #endif /* PE_DLL_H */ 63