1*90f584c6Sschwarze /* $OpenBSD: manconf.h,v 1.9 2020/07/21 15:08:49 schwarze Exp $ */ 24de77decSschwarze /* 3beabc24cSschwarze * Copyright (c) 2011,2015,2017,2018,2020 Ingo Schwarze <schwarze@openbsd.org> 44de77decSschwarze * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv> 54de77decSschwarze * 64de77decSschwarze * Permission to use, copy, modify, and distribute this software for any 74de77decSschwarze * purpose with or without fee is hereby granted, provided that the above 84de77decSschwarze * copyright notice and this permission notice appear in all copies. 94de77decSschwarze * 104de77decSschwarze * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES 114de77decSschwarze * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 124de77decSschwarze * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR 134de77decSschwarze * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 144de77decSschwarze * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 154de77decSschwarze * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 164de77decSschwarze * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17beabc24cSschwarze * 18beabc24cSschwarze * Public interface to man(1) configuration management. 19beabc24cSschwarze * For use by the main program and by the formatters. 204de77decSschwarze */ 214de77decSschwarze 224de77decSschwarze /* List of unique, absolute paths to manual trees. */ 234de77decSschwarze 244de77decSschwarze struct manpaths { 254de77decSschwarze char **paths; 264de77decSschwarze size_t sz; 274de77decSschwarze }; 284de77decSschwarze 294de77decSschwarze /* Data from -O options and man.conf(5) output directives. */ 304de77decSschwarze 314de77decSschwarze struct manoutput { 324de77decSschwarze char *includes; 334de77decSschwarze char *man; 34*90f584c6Sschwarze char *outfilename; 354de77decSschwarze char *paper; 364de77decSschwarze char *style; 37d17f6067Sschwarze char *tag; 38*90f584c6Sschwarze char *tagfilename; 394de77decSschwarze size_t indent; 404de77decSschwarze size_t width; 414de77decSschwarze int fragment; 424de77decSschwarze int mdoc; 43385121c9Sschwarze int noval; 443327fa00Sschwarze int synopsisonly; 45beabc24cSschwarze int tag_found; 463327fa00Sschwarze int toc; 474de77decSschwarze }; 484de77decSschwarze 494de77decSschwarze struct manconf { 504de77decSschwarze struct manoutput output; 514de77decSschwarze struct manpaths manpath; 524de77decSschwarze }; 534de77decSschwarze 544de77decSschwarze 554de77decSschwarze void manconf_parse(struct manconf *, const char *, char *, char *); 564b502eb4Sschwarze int manconf_output(struct manoutput *, const char *, int); 574de77decSschwarze void manconf_free(struct manconf *); 5819b6bef7Sschwarze void manpath_base(struct manpaths *); 59