[BACK]Return to main.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

File: [cvsweb.bsd.lv] / mandoc / main.h (download)

Revision 1.13, Sat Sep 17 15:00:51 2011 UTC (12 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.12: +3 -1 lines

Initial, incomplete support for -Tman
to convert mdoc(7) documents to the man(7) language.
This is work in progress and will be developed in tree.
It does already handle the cat(1) manual,
but will hardly handle all your fancy manuals yet.
go ahead  kristaps@ jmc@ millert@ deraadt@

/*	$Id: main.h,v 1.13 2011/09/17 15:00:51 schwarze Exp $ */
/*
 * Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
#ifndef	MAIN_H
#define	MAIN_H

__BEGIN_DECLS

struct	mdoc;
struct	man;

#define	UNCONST(a)	((void *)(uintptr_t)(const void *)(a))


/* 
 * Definitions for main.c-visible output device functions, e.g., -Thtml
 * and -Tascii.  Note that ascii_alloc() is named as such in
 * anticipation of latin1_alloc() and so on, all of which map into the
 * terminal output routines with different character settings.
 */

void		 *html_alloc(char *);
void		 *xhtml_alloc(char *);
void		  html_mdoc(void *, const struct mdoc *);
void		  html_man(void *, const struct man *);
void		  html_free(void *);

void		  tree_mdoc(void *, const struct mdoc *);
void		  tree_man(void *, const struct man *);

void		  man_mdoc(void *, const struct mdoc *);

void		 *locale_alloc(char *);
void		 *utf8_alloc(char *);
void		 *ascii_alloc(char *);
void		  ascii_free(void *);

void		 *pdf_alloc(char *);
void		 *ps_alloc(char *);
void		  pspdf_free(void *);

void		  terminal_mdoc(void *, const struct mdoc *);
void		  terminal_man(void *, const struct man *);

__END_DECLS

#endif /*!MAIN_H*/