xref: /openbsd/usr.bin/bc/extern.h (revision 04dc772e)
1*04dc772eSotto /*      $OpenBSD: extern.h,v 1.12 2014/04/17 19:07:14 otto Exp $	*/
25092d5c9Sotto 
35092d5c9Sotto /*
45092d5c9Sotto  * Copyright (c) 2003, Otto Moerbeek <otto@drijf.net>
55092d5c9Sotto  *
65092d5c9Sotto  * Permission to use, copy, modify, and distribute this software for any
75092d5c9Sotto  * purpose with or without fee is hereby granted, provided that the above
85092d5c9Sotto  * copyright notice and this permission notice appear in all copies.
95092d5c9Sotto  *
105092d5c9Sotto  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
115092d5c9Sotto  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
125092d5c9Sotto  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
135092d5c9Sotto  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
145092d5c9Sotto  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
155092d5c9Sotto  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
165092d5c9Sotto  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
175092d5c9Sotto  */
185092d5c9Sotto 
199fac9dd6Sotto #include <stdbool.h>
205092d5c9Sotto #include <stdio.h>
215092d5c9Sotto 
225092d5c9Sotto struct lvalue {
231e868aa7Sotto 	ssize_t load;
241e868aa7Sotto 	ssize_t store;
255092d5c9Sotto };
265092d5c9Sotto 
275092d5c9Sotto int		yylex(void);
28ac868341Sotto void		yyerror(char *);
29ac868341Sotto void		fatal(const char *);
305092d5c9Sotto void		abort_line(int);
319fac9dd6Sotto struct termios;
3203cc0459Sotto int		gettty(struct termios *);
339fac9dd6Sotto void		tstpcont(int);
34d04ba965Sotto unsigned char	bc_eof(EditLine *, int);
355092d5c9Sotto 
365092d5c9Sotto extern int	lineno;
375092d5c9Sotto extern char	*yytext;
385092d5c9Sotto extern FILE	*yyin;
39b1fdaab8Sotto extern int	fileindex;
40b1fdaab8Sotto extern int	sargc;
41b1fdaab8Sotto extern char	**sargv;
42b1fdaab8Sotto extern char	*filename;
43ce0441ffSotto extern bool	interactive;
44ce0441ffSotto extern EditLine	*el;
45ce0441ffSotto extern History	*hist;
46ce0441ffSotto extern HistEvent he;
47b1fdaab8Sotto extern char	*cmdexpr;
4803cc0459Sotto extern struct termios ttysaved;
49