/*
 *	mc.h
 */

extern char	*p_out;
extern char	*actual_filename;
extern int	parser_errno;
extern int	c_lineno;
extern int	tabcnt;
extern int	mc_rule;
extern int	mc_init;
extern int	mc_warn;
extern int	mc_list_lineno;
extern int	mc_list_level;
extern unsigned	long	mc_shmsize;
extern FILE	*outfile, *tempfile, *initfile, *listfile;

extern char	cwd[];

extern ModuleType	moduletype;

extern int	output_flag;
extern void	c_out();
extern void	c_out_lf();
extern void	c_out_lineno();
extern void	c_out_linebegin();
extern void	c_out_id();
extern void	c_init();
extern void	c_init_out();
extern void	c_save();
extern void	c_saved_out();
extern void	c_saved_kill();

extern char	expression_buffer[];
extern void	c_exbuf();
extern void	c_exbuf_id();
extern void	insert_exbuf();
#define at_begin_of_exbuf(str)	insert_exbuf (expression_buffer, str)
#define clr_exbuf()	{expression_buffer [0] = '\0'; clr_expr_pos ();}
#define c_out_exbuf()	{c_out ("%s", expression_buffer); clr_exbuf ();}


extern void	yyerror();

extern void	remote_compile();

extern void	statistics();


/* variables for environment settings */

extern char	*mc_libmclocal;
extern char	*mc_libmcremote;
extern char	*mc_include;
extern char	*mc_cclocal;
extern char	*mc_ldlocal;
extern char	*mc_remote;


/* variables for IMPORT/EXPORT-Control */

extern char	*import_filename;
extern char	*import_filename_without_path;
extern int	export;


