1241675Suqs/* $Id: main.h,v 1.15 2011/10/06 22:29:12 kristaps Exp $ */ 2241675Suqs/* 3241675Suqs * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> 4241675Suqs * 5241675Suqs * Permission to use, copy, modify, and distribute this software for any 6241675Suqs * purpose with or without fee is hereby granted, provided that the above 7241675Suqs * copyright notice and this permission notice appear in all copies. 8241675Suqs * 9241675Suqs * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10241675Suqs * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11241675Suqs * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12241675Suqs * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13241675Suqs * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14241675Suqs * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15241675Suqs * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16241675Suqs */ 17241675Suqs#ifndef MAIN_H 18241675Suqs#define MAIN_H 19241675Suqs 20241675Suqs__BEGIN_DECLS 21241675Suqs 22241675Suqsstruct mdoc; 23241675Suqsstruct man; 24241675Suqs 25241675Suqs#define UNCONST(a) ((void *)(uintptr_t)(const void *)(a)) 26241675Suqs 27241675Suqs 28241675Suqs/* 29241675Suqs * Definitions for main.c-visible output device functions, e.g., -Thtml 30241675Suqs * and -Tascii. Note that ascii_alloc() is named as such in 31241675Suqs * anticipation of latin1_alloc() and so on, all of which map into the 32241675Suqs * terminal output routines with different character settings. 33241675Suqs */ 34241675Suqs 35241675Suqsvoid *html_alloc(char *); 36241675Suqsvoid *xhtml_alloc(char *); 37241675Suqsvoid html_mdoc(void *, const struct mdoc *); 38241675Suqsvoid html_man(void *, const struct man *); 39241675Suqsvoid html_free(void *); 40241675Suqs 41241675Suqsvoid tree_mdoc(void *, const struct mdoc *); 42241675Suqsvoid tree_man(void *, const struct man *); 43241675Suqs 44241675Suqsvoid man_mdoc(void *, const struct mdoc *); 45241675Suqsvoid man_man(void *, const struct man *); 46241675Suqs 47241675Suqsvoid *locale_alloc(char *); 48241675Suqsvoid *utf8_alloc(char *); 49241675Suqsvoid *ascii_alloc(char *); 50241675Suqsvoid ascii_free(void *); 51241675Suqs 52241675Suqsvoid *pdf_alloc(char *); 53241675Suqsvoid *ps_alloc(char *); 54241675Suqsvoid pspdf_free(void *); 55241675Suqs 56241675Suqsvoid terminal_mdoc(void *, const struct mdoc *); 57241675Suqsvoid terminal_man(void *, const struct man *); 58241675Suqs 59241675Suqs__END_DECLS 60241675Suqs 61241675Suqs#endif /*!MAIN_H*/ 62