]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - binutils/windres.h
Generated files
[thirdparty/binutils-gdb.git] / binutils / windres.h
CommitLineData
252b5132 1/* windres.h -- header file for windres program.
219d1afa 2 Copyright (C) 1997-2018 Free Software Foundation, Inc.
252b5132 3 Written by Ian Lance Taylor, Cygnus Support.
4a594fce 4 Rewritten by Kai Tietz, Onevision.
252b5132
RH
5
6 This file is part of GNU Binutils.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
32866df7 10 the Free Software Foundation; either version 3 of the License, or
252b5132
RH
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
b43b5d5f
NC
20 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
21 02110-1301, USA. */
252b5132 22
e9792343 23#include "ansidecl.h"
252b5132
RH
24
25/* This is the header file for the windres program. It defines
26 structures and declares functions used within the program. */
27
28#include "winduni.h"
4a594fce 29#include "windint.h"
252b5132 30
751d21b5
DD
31extern int verbose;
32
252b5132
RH
33/* Function declarations. */
34
4a594fce
NC
35extern rc_res_directory *read_rc_file (const char *, const char *, const char *, int, int);
36extern rc_res_directory *read_res_file (const char *);
37extern rc_res_directory *read_coff_rsrc (const char *, const char *);
38extern void write_rc_file (const char *, const rc_res_directory *);
39extern void write_res_file (const char *, const rc_res_directory *);
40extern void write_coff_file (const char *, const char *, const rc_res_directory *);
252b5132 41
4a594fce
NC
42extern rc_res_resource *bin_to_res (windres_bfd *, rc_res_id, const bfd_byte *,
43 rc_uint_type);
44extern rc_uint_type res_to_bin (windres_bfd *, rc_uint_type, const rc_res_resource *);
252b5132 45
4a594fce 46extern FILE *open_file_search (const char *, const char *, const char *, char **);
252b5132 47
4a594fce
NC
48extern void *res_alloc (rc_uint_type);
49extern void *reswr_alloc (rc_uint_type);
252b5132
RH
50
51/* Resource ID handling. */
52
4a594fce
NC
53extern int res_id_cmp (rc_res_id, rc_res_id);
54extern void res_id_print (FILE *, rc_res_id, int);
55extern void res_ids_print (FILE *, int, const rc_res_id *);
56extern void res_string_to_id (rc_res_id *, const char *);
57extern void res_unistring_to_id (rc_res_id *, const unichar *);
252b5132
RH
58
59/* Manipulation of the resource tree. */
60
4a594fce
NC
61extern rc_res_resource *define_resource (rc_res_directory **, int, const rc_res_id *,
62 int);
63extern rc_res_resource *define_standard_resource (rc_res_directory **, int, rc_res_id,
64 rc_uint_type, int);
252b5132 65
4a594fce
NC
66extern int extended_dialog (const rc_dialog *);
67extern int extended_menu (const rc_menu *);
252b5132
RH
68
69/* Communication between the rc file support and the parser and lexer. */
70
71extern int yydebug;
252b5132
RH
72extern char *rc_filename;
73extern int rc_lineno;
7adbf450 74
2da42df6
AJ
75extern int yyparse (void);
76extern int yylex (void);
77extern void yyerror (const char *);
78extern void rcparse_warning (const char *);
79extern void rcparse_set_language (int);
80extern void rcparse_discard_strings (void);
81extern void rcparse_rcdata (void);
82extern void rcparse_normal (void);
252b5132 83
4a594fce
NC
84extern void define_accelerator (rc_res_id, const rc_res_res_info *, rc_accelerator *);
85extern void define_bitmap (rc_res_id, const rc_res_res_info *, const char *);
86extern void define_cursor (rc_res_id, const rc_res_res_info *, const char *);
87extern void define_dialog (rc_res_id, const rc_res_res_info *, const rc_dialog *);
88extern rc_dialog_control *define_control (const rc_res_id, rc_uint_type, rc_uint_type,
89 rc_uint_type, rc_uint_type, rc_uint_type,
90 const rc_res_id, rc_uint_type, rc_uint_type);
91extern rc_dialog_control *define_icon_control (rc_res_id, rc_uint_type, rc_uint_type,
92 rc_uint_type, rc_uint_type, rc_uint_type,
93 rc_uint_type, rc_rcdata_item *,
94 rc_dialog_ex *);
95extern void define_font (rc_res_id, const rc_res_res_info *, const char *);
96extern void define_icon (rc_res_id, const rc_res_res_info *, const char *);
97extern void define_menu (rc_res_id, const rc_res_res_info *, rc_menuitem *);
98extern rc_menuitem *define_menuitem (const unichar *, rc_uint_type, rc_uint_type,
99 rc_uint_type, rc_uint_type, rc_menuitem *);
100extern void define_messagetable (rc_res_id, const rc_res_res_info *, const char *);
101extern void define_rcdata (rc_res_id, const rc_res_res_info *, rc_rcdata_item *);
102extern void define_rcdata_file (rc_res_id, const rc_res_res_info *, const char *);
103extern rc_rcdata_item *define_rcdata_string (const char *, rc_uint_type);
104extern rc_rcdata_item *define_rcdata_unistring (const unichar *, rc_uint_type);
105extern rc_rcdata_item *define_rcdata_number (rc_uint_type, int);
81472056 106extern void define_stringtable (const rc_res_res_info *, rc_uint_type, const unichar *, int);
4a594fce
NC
107extern void define_user_data (rc_res_id, rc_res_id, const rc_res_res_info *, rc_rcdata_item *);
108extern void define_toolbar (rc_res_id, rc_res_res_info *, rc_uint_type ,rc_uint_type ,rc_toolbar_item *);
109extern void define_user_file (rc_res_id, rc_res_id, const rc_res_res_info *, const char *);
110extern void define_versioninfo (rc_res_id, rc_uint_type, rc_fixed_versioninfo *, rc_ver_info *);
bfb6c1ab
NC
111extern rc_ver_info *append_ver_stringfileinfo (rc_ver_info *, rc_ver_stringtable *);
112extern rc_ver_stringtable *append_ver_stringtable (rc_ver_stringtable *, const char *, rc_ver_stringinfo *);
4a594fce
NC
113extern rc_ver_info *append_ver_varfileinfo (rc_ver_info *, const unichar *, rc_ver_varinfo *);
114extern rc_ver_stringinfo *append_verval (rc_ver_stringinfo *, const unichar *, const unichar *);
115extern rc_ver_varinfo *append_vertrans (rc_ver_varinfo *, rc_uint_type, rc_uint_type);
116
117extern bfd *windres_open_as_binary (const char *, int);
c6998d15 118extern void windres_add_include_dir (const char *);
4a594fce
NC
119
120extern int wr_printcomment (FILE *, const char *, ...);
121extern int wr_print (FILE *, const char *, ...);
122#define wr_print_flush(FP) wr_print ((FP),NULL)