Merge from gcc:
[deliverable/binutils-gdb.git] / ld / pe-dll.h
CommitLineData
1069dd8d 1/* pe-dll.h: Header file for routines used to build Windows DLLs.
aa820537 2 Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009
3db64b00 3 Free Software Foundation, Inc.
1069dd8d 4
f96b4a7b 5 This file is part of the GNU Binutils.
1069dd8d 6
f96b4a7b 7 This program is free software; you can redistribute it and/or modify
1069dd8d 8 it under the terms of the GNU General Public License as published by
f96b4a7b
NC
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
1069dd8d 11
f96b4a7b 12 This program is distributed in the hope that it will be useful,
1069dd8d
ILT
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
f96b4a7b
NC
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
1069dd8d
ILT
21
22#ifndef PE_DLL_H
23#define PE_DLL_H
24
1069dd8d 25#include "sysdep.h"
3db64b00 26#include "bfd.h"
1069dd8d
ILT
27#include "bfdlink.h"
28#include "deffile.h"
29
30extern def_file *pe_def_file;
31extern int pe_dll_export_everything;
2927aaca 32extern int pe_dll_exclude_all_symbols;
1069dd8d
ILT
33extern int pe_dll_do_default_excludes;
34extern int pe_dll_kill_ats;
35extern int pe_dll_stdcall_aliases;
870df5dc
NC
36extern int pe_dll_warn_dup_exports;
37extern int pe_dll_compat_implib;
b044cda1 38extern int pe_dll_extra_pe_debug;
ce11ba6c 39extern int pe_use_nul_prefixed_import_tables;
88183869 40extern int pe_use_coff_long_section_names;
1069dd8d 41
e1c37eb5
DK
42typedef enum { EXCLUDESYMS, EXCLUDELIBS, EXCLUDEFORIMPLIB } exclude_type;
43
b34976b6 44extern void pe_dll_id_target
1579bae1 45 (const char *);
b34976b6 46extern void pe_dll_add_excludes
e1c37eb5 47 (const char *, const exclude_type);
b34976b6 48extern void pe_dll_generate_def_file
1579bae1 49 (const char *);
b34976b6 50extern void pe_dll_generate_implib
e1c37eb5 51 (def_file *, const char *, struct bfd_link_info *);
b34976b6 52extern void pe_process_import_defs
1579bae1 53 (bfd *, struct bfd_link_info *);
b34976b6 54extern bfd_boolean pe_implied_import_dll
1579bae1 55 (const char *);
b34976b6 56extern void pe_dll_build_sections
1579bae1 57 (bfd *, struct bfd_link_info *);
b34976b6 58extern void pe_exe_build_sections
1579bae1 59 (bfd *, struct bfd_link_info *);
b34976b6 60extern void pe_dll_fill_sections
1579bae1 61 (bfd *, struct bfd_link_info *);
b34976b6 62extern void pe_exe_fill_sections
1579bae1 63 (bfd *, struct bfd_link_info *);
b34976b6 64extern void pe_walk_relocs_of_symbol
1579bae1 65 (struct bfd_link_info *, const char *, int (*) (arelent *, asection *));
b34976b6 66extern void pe_create_import_fixup
6cb442d3 67 (arelent * rel, asection *, bfd_vma);
ff2bdb9c
CF
68extern bfd_boolean pe_bfd_is_dll
69 (bfd *);
88183869 70extern void pe_output_file_set_long_section_names
2927aaca 71 (bfd *);
ff2bdb9c 72
1069dd8d 73#endif /* PE_DLL_H */
This page took 0.497514 seconds and 4 git commands to generate.