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