xref: /dflybsd-src/contrib/mdocml/main.h (revision 54ba96075f5891e4574304da6ba88f1a1afe520b)
1*54ba9607SSascha Wildner /*	$Id: main.h,v 1.30 2019/03/03 13:02:11 schwarze Exp $ */
280387638SSascha Wildner /*
336342e81SSascha Wildner  * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
4*54ba9607SSascha Wildner  * Copyright (c) 2014, 2015, 2019 Ingo Schwarze <schwarze@openbsd.org>
580387638SSascha Wildner  *
680387638SSascha Wildner  * Permission to use, copy, modify, and distribute this software for any
780387638SSascha Wildner  * purpose with or without fee is hereby granted, provided that the above
880387638SSascha Wildner  * copyright notice and this permission notice appear in all copies.
980387638SSascha Wildner  *
10*54ba9607SSascha Wildner  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
1180387638SSascha Wildner  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12*54ba9607SSascha Wildner  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
1380387638SSascha Wildner  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1480387638SSascha Wildner  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1580387638SSascha Wildner  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1680387638SSascha Wildner  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1780387638SSascha Wildner  */
1880387638SSascha Wildner 
19*54ba9607SSascha Wildner struct	roff_meta;
20*54ba9607SSascha Wildner struct	manoutput;
2180387638SSascha Wildner 
2280387638SSascha Wildner /*
2380387638SSascha Wildner  * Definitions for main.c-visible output device functions, e.g., -Thtml
2480387638SSascha Wildner  * and -Tascii.  Note that ascii_alloc() is named as such in
2580387638SSascha Wildner  * anticipation of latin1_alloc() and so on, all of which map into the
2680387638SSascha Wildner  * terminal output routines with different character settings.
2780387638SSascha Wildner  */
2880387638SSascha Wildner 
29*54ba9607SSascha Wildner void		 *html_alloc(const struct manoutput *);
30*54ba9607SSascha Wildner void		  html_mdoc(void *, const struct roff_meta *);
31*54ba9607SSascha Wildner void		  html_man(void *, const struct roff_meta *);
32*54ba9607SSascha Wildner void		  html_reset(void *);
3380387638SSascha Wildner void		  html_free(void *);
3480387638SSascha Wildner 
35*54ba9607SSascha Wildner void		  tree_mdoc(void *, const struct roff_meta *);
36*54ba9607SSascha Wildner void		  tree_man(void *, const struct roff_meta *);
3780387638SSascha Wildner 
38*54ba9607SSascha Wildner void		  man_mdoc(void *, const struct roff_meta *);
3936342e81SSascha Wildner 
40*54ba9607SSascha Wildner void		 *locale_alloc(const struct manoutput *);
41*54ba9607SSascha Wildner void		 *utf8_alloc(const struct manoutput *);
42*54ba9607SSascha Wildner void		 *ascii_alloc(const struct manoutput *);
4380387638SSascha Wildner void		  ascii_free(void *);
4480387638SSascha Wildner 
45*54ba9607SSascha Wildner void		 *pdf_alloc(const struct manoutput *);
46*54ba9607SSascha Wildner void		 *ps_alloc(const struct manoutput *);
4780387638SSascha Wildner void		  pspdf_free(void *);
4880387638SSascha Wildner 
49*54ba9607SSascha Wildner void		  terminal_mdoc(void *, const struct roff_meta *);
50*54ba9607SSascha Wildner void		  terminal_man(void *, const struct roff_meta *);
51*54ba9607SSascha Wildner void		  terminal_sepline(void *);
5280387638SSascha Wildner 
53*54ba9607SSascha Wildner void		  markdown_mdoc(void *, const struct roff_meta *);
54