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