xref: /openbsd-src/usr.bin/mandoc/main.h (revision 1fd1dc028c9b1ec97b405dff4c48ba4d9999b798)
1*1fd1dc02Sschwarze /*	$OpenBSD: main.h,v 1.25 2019/03/03 13:01:47 schwarze Exp $ */
24175bdabSschwarze /*
3a5e11edeSschwarze  * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
4*1fd1dc02Sschwarze  * Copyright (c) 2014, 2015, 2019 Ingo Schwarze <schwarze@openbsd.org>
54175bdabSschwarze  *
64175bdabSschwarze  * Permission to use, copy, modify, and distribute this software for any
74175bdabSschwarze  * purpose with or without fee is hereby granted, provided that the above
84175bdabSschwarze  * copyright notice and this permission notice appear in all copies.
94175bdabSschwarze  *
102ccd0917Sschwarze  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
114175bdabSschwarze  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
122ccd0917Sschwarze  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
134175bdabSschwarze  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
144175bdabSschwarze  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
154175bdabSschwarze  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
164175bdabSschwarze  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
174175bdabSschwarze  */
184175bdabSschwarze 
196b86842eSschwarze struct	roff_meta;
202ccd0917Sschwarze struct	manoutput;
219a98b8a1Sschwarze 
224175bdabSschwarze /*
234175bdabSschwarze  * Definitions for main.c-visible output device functions, e.g., -Thtml
244175bdabSschwarze  * and -Tascii.  Note that ascii_alloc() is named as such in
254175bdabSschwarze  * anticipation of latin1_alloc() and so on, all of which map into the
264175bdabSschwarze  * terminal output routines with different character settings.
274175bdabSschwarze  */
284175bdabSschwarze 
2916536faaSschwarze void		 *html_alloc(const struct manoutput *);
306b86842eSschwarze void		  html_mdoc(void *, const struct roff_meta *);
316b86842eSschwarze void		  html_man(void *, const struct roff_meta *);
32*1fd1dc02Sschwarze void		  html_reset(void *);
334175bdabSschwarze void		  html_free(void *);
344175bdabSschwarze 
356b86842eSschwarze void		  tree_mdoc(void *, const struct roff_meta *);
366b86842eSschwarze void		  tree_man(void *, const struct roff_meta *);
374175bdabSschwarze 
386b86842eSschwarze void		  man_mdoc(void *, const struct roff_meta *);
3975d4d0e5Sschwarze 
4016536faaSschwarze void		 *locale_alloc(const struct manoutput *);
4116536faaSschwarze void		 *utf8_alloc(const struct manoutput *);
4216536faaSschwarze void		 *ascii_alloc(const struct manoutput *);
43f95d589eSschwarze void		  ascii_free(void *);
44f95d589eSschwarze 
4516536faaSschwarze void		 *pdf_alloc(const struct manoutput *);
4616536faaSschwarze void		 *ps_alloc(const struct manoutput *);
47ddce0b0cSschwarze void		  pspdf_free(void *);
48f95d589eSschwarze 
496b86842eSschwarze void		  terminal_mdoc(void *, const struct roff_meta *);
506b86842eSschwarze void		  terminal_man(void *, const struct roff_meta *);
512db2cb23Sschwarze void		  terminal_sepline(void *);
52b3257404Sschwarze 
536b86842eSschwarze void		  markdown_mdoc(void *, const struct roff_meta *);
54