bfd/
[deliverable/binutils-gdb.git] / ld / pe-dll.h
CommitLineData
1069dd8d 1/* pe-dll.h: Header file for routines used to build Windows DLLs.
3db64b00
AM
2 Copyright 1999, 2000, 2001, 2002, 2003, 2007
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;
32extern int pe_dll_do_default_excludes;
33extern int pe_dll_kill_ats;
34extern int pe_dll_stdcall_aliases;
870df5dc
NC
35extern int pe_dll_warn_dup_exports;
36extern int pe_dll_compat_implib;
b044cda1 37extern int pe_dll_extra_pe_debug;
ce11ba6c 38extern int pe_use_nul_prefixed_import_tables;
1069dd8d 39
e1c37eb5
DK
40typedef enum { EXCLUDESYMS, EXCLUDELIBS, EXCLUDEFORIMPLIB } exclude_type;
41
b34976b6 42extern void pe_dll_id_target
1579bae1 43 (const char *);
b34976b6 44extern void pe_dll_add_excludes
e1c37eb5 45 (const char *, const exclude_type);
b34976b6 46extern void pe_dll_generate_def_file
1579bae1 47 (const char *);
b34976b6 48extern void pe_dll_generate_implib
e1c37eb5 49 (def_file *, const char *, struct bfd_link_info *);
b34976b6 50extern void pe_process_import_defs
1579bae1 51 (bfd *, struct bfd_link_info *);
b34976b6 52extern bfd_boolean pe_implied_import_dll
1579bae1 53 (const char *);
b34976b6 54extern void pe_dll_build_sections
1579bae1 55 (bfd *, struct bfd_link_info *);
b34976b6 56extern void pe_exe_build_sections
1579bae1 57 (bfd *, struct bfd_link_info *);
b34976b6 58extern void pe_dll_fill_sections
1579bae1 59 (bfd *, struct bfd_link_info *);
b34976b6 60extern void pe_exe_fill_sections
1579bae1 61 (bfd *, struct bfd_link_info *);
b34976b6 62extern void pe_walk_relocs_of_symbol
1579bae1 63 (struct bfd_link_info *, const char *, int (*) (arelent *, asection *));
b34976b6 64extern void pe_create_import_fixup
6cb442d3 65 (arelent * rel, asection *, bfd_vma);
ff2bdb9c
CF
66extern bfd_boolean pe_bfd_is_dll
67 (bfd *);
68
1069dd8d 69#endif /* PE_DLL_H */
This page took 0.357017 seconds and 4 git commands to generate.