1*61d06d6bSBaptiste Daroussin /* $Id: roff_int.h,v 1.9 2017/07/08 17:52:50 schwarze Exp $ */ 2*61d06d6bSBaptiste Daroussin /* 3*61d06d6bSBaptiste Daroussin * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> 4*61d06d6bSBaptiste Daroussin * Copyright (c) 2013, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org> 5*61d06d6bSBaptiste Daroussin * 6*61d06d6bSBaptiste Daroussin * Permission to use, copy, modify, and distribute this software for any 7*61d06d6bSBaptiste Daroussin * purpose with or without fee is hereby granted, provided that the above 8*61d06d6bSBaptiste Daroussin * copyright notice and this permission notice appear in all copies. 9*61d06d6bSBaptiste Daroussin * 10*61d06d6bSBaptiste Daroussin * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES 11*61d06d6bSBaptiste Daroussin * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12*61d06d6bSBaptiste Daroussin * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR 13*61d06d6bSBaptiste Daroussin * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14*61d06d6bSBaptiste Daroussin * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15*61d06d6bSBaptiste Daroussin * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16*61d06d6bSBaptiste Daroussin * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17*61d06d6bSBaptiste Daroussin */ 18*61d06d6bSBaptiste Daroussin 19*61d06d6bSBaptiste Daroussin struct roff_node *roff_node_alloc(struct roff_man *, int, int, 20*61d06d6bSBaptiste Daroussin enum roff_type, int); 21*61d06d6bSBaptiste Daroussin void roff_node_append(struct roff_man *, struct roff_node *); 22*61d06d6bSBaptiste Daroussin void roff_word_alloc(struct roff_man *, int, int, const char *); 23*61d06d6bSBaptiste Daroussin void roff_word_append(struct roff_man *, const char *); 24*61d06d6bSBaptiste Daroussin void roff_elem_alloc(struct roff_man *, int, int, int); 25*61d06d6bSBaptiste Daroussin struct roff_node *roff_block_alloc(struct roff_man *, int, int, int); 26*61d06d6bSBaptiste Daroussin struct roff_node *roff_head_alloc(struct roff_man *, int, int, int); 27*61d06d6bSBaptiste Daroussin struct roff_node *roff_body_alloc(struct roff_man *, int, int, int); 28*61d06d6bSBaptiste Daroussin void roff_node_unlink(struct roff_man *, struct roff_node *); 29*61d06d6bSBaptiste Daroussin void roff_node_free(struct roff_node *); 30*61d06d6bSBaptiste Daroussin void roff_node_delete(struct roff_man *, struct roff_node *); 31*61d06d6bSBaptiste Daroussin 32*61d06d6bSBaptiste Daroussin /* 33*61d06d6bSBaptiste Daroussin * Functions called from roff.c need to be declared here, 34*61d06d6bSBaptiste Daroussin * not in libmdoc.h or libman.h, even if they are specific 35*61d06d6bSBaptiste Daroussin * to either the mdoc(7) or the man(7) parser. 36*61d06d6bSBaptiste Daroussin */ 37*61d06d6bSBaptiste Daroussin 38*61d06d6bSBaptiste Daroussin void man_breakscope(struct roff_man *, int); 39*61d06d6bSBaptiste Daroussin void mdoc_argv_free(struct mdoc_arg *); 40