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