Merge from vendor branch GCC:
[dragonfly.git] / contrib / binutils / ld / ldlex.h
1 /* ldlex.h -
2    Copyright 1991, 1992, 1993, 1994, 1995, 1997, 2000
3    Free Software Foundation, Inc.
4
5    This file is part of GLD, the Gnu Linker.
6
7    GLD is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 1, or (at your option)
10    any later version.
11
12    GLD is distributed in the hope that it will be useful,
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
18    along with GLD; see the file COPYING.  If not, write to the Free
19    Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20    02111-1307, USA.  */
21
22 #ifndef LDLEX_H
23 #define LDLEX_H
24
25 #include <stdio.h>
26
27 /* The initial parser states.  */
28 typedef enum input_enum {
29   input_selected,               /* We've set the initial state.  */
30   input_script,
31   input_mri_script,
32   input_version_script,
33   input_defsym
34 } input_type;
35
36 extern input_type parser_input;
37
38 extern unsigned int lineno;
39 extern const char *lex_string;
40
41 /* In ldlex.l.  */
42 extern int yylex PARAMS ((void));
43 extern void lex_push_file PARAMS ((FILE *, const char *));
44 extern void lex_redirect PARAMS ((const char *));
45 extern void ldlex_script PARAMS ((void));
46 extern void ldlex_mri_script PARAMS ((void));
47 extern void ldlex_version_script PARAMS ((void));
48 extern void ldlex_version_file PARAMS ((void));
49 extern void ldlex_defsym PARAMS ((void));
50 extern void ldlex_expression PARAMS ((void));
51 extern void ldlex_both PARAMS ((void));
52 extern void ldlex_command PARAMS ((void));
53 extern void ldlex_popstate PARAMS ((void));
54
55 /* In lexsup.c.  */
56 extern int lex_input PARAMS ((void));
57 extern void lex_unput PARAMS ((int));
58 #ifndef yywrap
59 extern int yywrap PARAMS ((void));
60 #endif
61 extern void parse_args PARAMS ((unsigned, char **));
62
63 #endif