160484Sobrien/* pe-dll.h: Header file for routines used to build Windows DLLs. 2218822Sdim Copyright 1999, 2000, 2001, 2002, 2003, 2007 3218822Sdim Free Software Foundation, Inc. 460484Sobrien 560484Sobrien This file is part of GLD, the Gnu Linker. 660484Sobrien 760484Sobrien GLD is free software; you can redistribute it and/or modify 860484Sobrien it under the terms of the GNU General Public License as published by 960484Sobrien the Free Software Foundation; either version 2, or (at your option) 1060484Sobrien any later version. 1160484Sobrien 1260484Sobrien GLD is distributed in the hope that it will be useful, 1360484Sobrien but WITHOUT ANY WARRANTY; without even the implied warranty of 1460484Sobrien MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1560484Sobrien GNU General Public License for more details. 1660484Sobrien 1760484Sobrien You should have received a copy of the GNU General Public License 1860484Sobrien along with GLD; see the file COPYING. If not, write to the Free 19218822Sdim Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 20218822Sdim 02110-1301, USA. */ 2160484Sobrien 2260484Sobrien#ifndef PE_DLL_H 2360484Sobrien#define PE_DLL_H 2460484Sobrien 25218822Sdim#include "sysdep.h" 2660484Sobrien#include "bfd.h" 2760484Sobrien#include "bfdlink.h" 2860484Sobrien#include "deffile.h" 2960484Sobrien 3060484Sobrienextern def_file *pe_def_file; 3160484Sobrienextern int pe_dll_export_everything; 3260484Sobrienextern int pe_dll_do_default_excludes; 3360484Sobrienextern int pe_dll_kill_ats; 3460484Sobrienextern int pe_dll_stdcall_aliases; 3560484Sobrienextern int pe_dll_warn_dup_exports; 3660484Sobrienextern int pe_dll_compat_implib; 3789857Sobrienextern int pe_dll_extra_pe_debug; 3860484Sobrien 39130561Sobrienextern void pe_dll_id_target 40130561Sobrien (const char *); 41130561Sobrienextern void pe_dll_add_excludes 42130561Sobrien (const char *, const int); 43130561Sobrienextern void pe_dll_generate_def_file 44130561Sobrien (const char *); 45130561Sobrienextern void pe_dll_generate_implib 46130561Sobrien (def_file *, const char *); 47130561Sobrienextern void pe_process_import_defs 48130561Sobrien (bfd *, struct bfd_link_info *); 49130561Sobrienextern bfd_boolean pe_implied_import_dll 50130561Sobrien (const char *); 51130561Sobrienextern void pe_dll_build_sections 52130561Sobrien (bfd *, struct bfd_link_info *); 53130561Sobrienextern void pe_exe_build_sections 54130561Sobrien (bfd *, struct bfd_link_info *); 55130561Sobrienextern void pe_dll_fill_sections 56130561Sobrien (bfd *, struct bfd_link_info *); 57130561Sobrienextern void pe_exe_fill_sections 58130561Sobrien (bfd *, struct bfd_link_info *); 59130561Sobrienextern void pe_walk_relocs_of_symbol 60130561Sobrien (struct bfd_link_info *, const char *, int (*) (arelent *, asection *)); 61130561Sobrienextern void pe_create_import_fixup 62130561Sobrien (arelent * rel, asection *, int); 63218822Sdimextern bfd_boolean pe_bfd_is_dll 64218822Sdim (bfd *); 65218822Sdim 6660484Sobrien#endif /* PE_DLL_H */ 67