1/* nlmconv.h -- header file for NLM conversion program
2   Copyright 1993, 2002, 2003 Free Software Foundation, Inc.
3
4This file is part of GNU Binutils.
5
6This program is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program; if not, write to the Free Software
18Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
19
20/* Written by Ian Lance Taylor <ian@cygnus.com>.
21
22   bfd.h, nlm/common.h and nlm/internal.h must be included before this
23   file.  */
24
25/* A linked list of strings.  */
26
27struct string_list
28{
29  struct string_list *next;
30  char *string;
31};
32
33/* The NLM header parser in nlmheader.y stores information in the
34   following variables.  */
35
36extern Nlm_Internal_Fixed_Header *fixed_hdr;
37extern Nlm_Internal_Variable_Header *var_hdr;
38extern Nlm_Internal_Version_Header *version_hdr;
39extern Nlm_Internal_Copyright_Header *copyright_hdr;
40extern Nlm_Internal_Extended_Header *extended_hdr;
41
42/* Procedure named by CHECK.  */
43extern char *check_procedure;
44/* File named by CUSTOM.  */
45extern char *custom_file;
46/* Whether to generate debugging information (DEBUG).  */
47extern bfd_boolean debug_info;
48/* Procedure named by EXIT.  */
49extern char *exit_procedure;
50/* Exported symbols (EXPORT).  */
51extern struct string_list *export_symbols;
52/* List of files from INPUT.  */
53extern struct string_list *input_files;
54/* Map file name (MAP, FULLMAP).  */
55extern char *map_file;
56/* Whether a full map has been requested (FULLMAP).  */
57extern bfd_boolean full_map;
58/* File named by HELP.  */
59extern char *help_file;
60/* Imported symbols (IMPORT).  */
61extern struct string_list *import_symbols;
62/* File named by MESSAGES.  */
63extern char *message_file;
64/* Autoload module list (MODULE).  */
65extern struct string_list *modules;
66/* File named by OUTPUT.  */
67extern char *output_file;
68/* File named by SHARELIB.  */
69extern char *sharelib_file;
70/* Start procedure name (START).  */
71extern char *start_procedure;
72/* VERBOSE.  */
73extern bfd_boolean verbose;
74/* RPC description file (XDCDATA).  */
75extern char *rpc_file;
76
77/* The number of serious parse errors.  */
78extern int parse_errors;
79
80/* The parser.  */
81extern int yyparse (void);
82
83/* Tell the lexer what file to read.  */
84extern bfd_boolean nlmlex_file (const char *);
85