1 #ifndef _MAIN_H_INCLUDED
2 #define _MAIN_H_INCLUDED 1
3 
4 #if defined(UNIX)
5 #define ENVSEP ':'
6 #define PATHSEP '/'
7 #define HAS_STRDUP
8 #endif
9 
10 #if defined(MSDOS) || defined(OS2)
11 #define ENVSEP ';'
12 #define PATHSEP '\\'
13 #endif
14 
15 #if defined(VMS)
16 #define ENVSEP ','
17 #define PATHSEP ''
18 #endif
19 
20 #ifdef HAS_STRDUP
21 #else
22 #define strdup my_strdup
23 #endif
24 
25 #ifndef SEEK_SET
26 #define SEEK_SET 0
27 #define SEEK_CUR 1
28 #endif
29 
30 #define ERROR 0
31 #define WARNING 1
32 
33 #define MAXCOMMANDLEN 100
34 
35 /* available values for alignment */
36 #define LEFT      'l'
37 #define RIGHT     'r'
38 #define CENTERED  'c'
39 #define JUSTIFIED 'j'
40 
41 #define PATHMAX 255
42 
43 /*** error constants ***/
44 #include <assert.h>
45 #include <stdio.h>
46 #include <stdint.h>
47 
48 /*** handy boolean type definition ***/
49 #ifndef TRUE
50 typedef enum { FALSE = 0,
51               TRUE } boolean;
52 #endif
53 
54 /*** interpret comment lines that follow the '%' with this string ***/
55 extern const char  * InterpretCommentString;
56 
57 void            diagnostics(int level, char *format,...);
58 
59 extern          char *g_aux_name;
60 extern          char *g_toc_name;
61 extern          char *g_lof_name;
62 extern          char *g_lot_name;
63 extern          char *g_bbl_name;
64 extern          char *g_home_dir;
65 extern          char *progname;         /* name of the executable file */
66 
67 extern int      GermanMode;
68 extern int      FrenchMode;
69 extern int      RussianMode;
70 extern int      CzechMode;
71 extern int      pagenumbering;
72 extern int      headings;
73 
74 extern int      g_verbosity_level;
75 extern int      RecursionLevel;
76 
77 /* table  & tabbing variables */
78 extern long     pos_begin_kill;
79 extern int      g_tab_counter;
80 extern int      g_equation_column;
81 
82 extern int      twocolumn;
83 extern int      titlepage;
84 
85 extern int      g_processing_equation;
86 extern int      g_processing_preamble;
87 extern int      g_processing_figure;
88 extern int      g_processing_table;
89 extern int      g_processing_tabbing;
90 extern int      g_processing_tabular;
91 extern int      g_processing_eqnarray;
92 extern int      g_processing_arrays;
93 extern uint16_t g_dots_per_inch;
94 
95 extern int      g_document_type;
96 extern int      g_document_bibstyle;
97 
98 extern int      g_equation_number;
99 extern int      g_escape_parens;
100 extern int      g_show_equation_number;
101 extern int      g_enumerate_depth;
102 extern int      g_suppress_equation_number;
103 extern int      g_aux_file_missing;
104 extern int      g_bbl_file_missing;
105 extern int      g_graphics_package;
106 extern int      g_amsmath_package;
107 
108 extern char     *g_figure_label;
109 extern char     *g_table_label;
110 extern char     *g_equation_label;
111 extern char     *g_section_label;
112 extern char     *g_config_path;
113 extern char     *g_script_dir;
114 extern char     g_field_separator;
115 extern char     *g_preamble;
116 
117 extern double   g_png_equation_scale;
118 extern double   g_png_figure_scale;
119 extern int      g_latex_figures;
120 extern int      g_endfloat_figures;
121 extern int      g_endfloat_tables;
122 extern int      g_endfloat_markers;
123 
124 extern int      g_equation_inline_rtf;
125 extern int      g_equation_display_rtf;
126 extern int      g_equation_inline_bitmap;
127 extern int      g_equation_display_bitmap;
128 extern int      g_equation_comment;
129 extern int      g_equation_raw_latex;
130 extern int      g_equation_inline_eps;
131 extern int      g_equation_display_eps;
132 extern int      g_equation_mtef;
133 
134 extern int      g_figure_include_direct;
135 extern int      g_figure_include_converted;
136 extern int      g_figure_comment_direct;
137 extern int      g_figure_comment_converted;
138 
139 extern int      g_tabular_display_rtf;
140 extern int      g_tabular_display_bitmap;
141 
142 extern int      g_little_endian;
143 extern int      g_tableofcontents;
144 
145 void fprintRTF(char *format, ...);
146 void putRtfCharEscaped(char cThis);
147 void putRtfStrEscaped(const char * string);
148 char *getTmpPath(void);
149 char *my_strdup(const char *str);
150 FILE *my_fopen(char *path, char *mode);
151 
152 void debug_malloc(void);
153 
154 #endif
155