xref: /freebsd/usr.bin/bc/extern.h (revision dd41de95a84d979615a2ef11df6850622bf6184e)
1 /*	$FreeBSD$						*/
2 /*      $OpenBSD: extern.h,v 1.12 2014/04/17 19:07:14 otto Exp $	*/
3 
4 /*
5  * Copyright (c) 2003, Otto Moerbeek <otto@drijf.net>
6  *
7  * Permission to use, copy, modify, and distribute this software for any
8  * purpose with or without fee is hereby granted, provided that the above
9  * copyright notice and this permission notice appear in all copies.
10  *
11  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18  */
19 
20 #include <stdbool.h>
21 #include <stdio.h>
22 
23 struct lvalue {
24 	ssize_t load;
25 	ssize_t store;
26 };
27 
28 int		yylex(void);
29 void		yyerror(const char *);
30 void		fatal(const char *);
31 void		abort_line(int);
32 struct termios;
33 int		gettty(struct termios *);
34 void		tstpcont(int);
35 unsigned char	bc_eof(EditLine *, int);
36 
37 extern int	lineno;
38 extern int	fileindex;
39 extern int	sargc;
40 extern const char	**sargv;
41 extern const char	*filename;
42 extern bool	 interactive;
43 extern EditLine	*el;
44 extern History	*hist;
45 extern HistEvent he;
46 extern char	*cmdexpr;
47 extern struct termios ttysaved;
48