Merge branch 'vendor/OPENSSL'
[dragonfly.git] / contrib / groff / src / preproc / eqn / eqn.h
1 // -*- C++ -*-
2 /* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2007, 2009
3    Free Software Foundation, Inc.
4      Written by James Clark (jjc@jclark.com)
5
6 This file is part of groff.
7
8 groff is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
12
13 groff is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16 for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20
21 #include "lib.h"
22
23 #include <assert.h>
24 #include <stdlib.h>
25 #include <errno.h>
26 #include "cset.h"
27 #include "errarg.h"
28 #include "error.h"
29
30 #include "box.h"
31
32 typedef enum {troff, mathml} eqnmode_t;
33
34 extern char start_delim;
35 extern char end_delim;
36 extern int non_empty_flag;
37 extern int inline_flag;
38 extern int draw_flag;
39 extern int one_size_reduction_flag;
40 extern int compatible_flag;
41 extern int nroff;
42 extern eqnmode_t output_format;
43 extern int xhtml;
44
45 void init_lex(const char *str, const char *filename, int lineno);
46 void lex_error(const char *message,
47                const errarg &arg1 = empty_errarg,
48                const errarg &arg2 = empty_errarg,
49                const errarg &arg3 = empty_errarg);
50
51 void init_table(const char *device);
52
53 // prefix for all registers, strings, macros
54 #define PREFIX "0"