1 1.1.1.5 wiz /* $OpenBSD: manconf.h,v 1.7 2018/11/22 11:30:15 schwarze Exp $ */ 2 1.1 christos /* 3 1.1.1.5 wiz * Copyright (c) 2011,2015,2017,2018,2020 Ingo Schwarze <schwarze (at) openbsd.org> 4 1.1 christos * Copyright (c) 2011 Kristaps Dzonsons <kristaps (at) bsd.lv> 5 1.1 christos * 6 1.1 christos * Permission to use, copy, modify, and distribute this software for any 7 1.1 christos * purpose with or without fee is hereby granted, provided that the above 8 1.1 christos * copyright notice and this permission notice appear in all copies. 9 1.1 christos * 10 1.1 christos * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES 11 1.1 christos * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 1.1 christos * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR 13 1.1 christos * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 1.1 christos * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 1.1 christos * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 1.1 christos * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 1.1.1.5 wiz * 18 1.1.1.5 wiz * Public interface to man(1) configuration management. 19 1.1.1.5 wiz * For use by the main program and by the formatters. 20 1.1 christos */ 21 1.1 christos 22 1.1 christos /* List of unique, absolute paths to manual trees. */ 23 1.1 christos 24 1.1 christos struct manpaths { 25 1.1 christos char **paths; 26 1.1 christos size_t sz; 27 1.1 christos }; 28 1.1 christos 29 1.1 christos /* Data from -O options and man.conf(5) output directives. */ 30 1.1 christos 31 1.1 christos struct manoutput { 32 1.1 christos char *includes; 33 1.1 christos char *man; 34 1.1.1.5 wiz char *outfilename; 35 1.1 christos char *paper; 36 1.1 christos char *style; 37 1.1.1.4 christos char *tag; 38 1.1.1.5 wiz char *tagfilename; 39 1.1 christos size_t indent; 40 1.1 christos size_t width; 41 1.1 christos int fragment; 42 1.1 christos int mdoc; 43 1.1.1.2 christos int noval; 44 1.1.1.4 christos int synopsisonly; 45 1.1.1.5 wiz int tag_found; 46 1.1.1.4 christos int toc; 47 1.1 christos }; 48 1.1 christos 49 1.1 christos struct manconf { 50 1.1 christos struct manoutput output; 51 1.1 christos struct manpaths manpath; 52 1.1 christos }; 53 1.1 christos 54 1.1 christos 55 1.1 christos void manconf_parse(struct manconf *, const char *, char *, char *); 56 1.1.1.2 christos int manconf_output(struct manoutput *, const char *, int); 57 1.1 christos void manconf_free(struct manconf *); 58 1.1.1.3 christos void manpath_base(struct manpaths *); 59