1 /* $OpenBSD: manconf.h,v 1.7 2018/11/22 11:30:15 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 *outfilename; 35 char *paper; 36 char *style; 37 char *tag; 38 char *tagfilename; 39 size_t indent; 40 size_t width; 41 int fragment; 42 int mdoc; 43 int noval; 44 int synopsisonly; 45 int tag_found; 46 int toc; 47 }; 48 49 struct manconf { 50 struct manoutput output; 51 struct manpaths manpath; 52 }; 53 54 55 void manconf_parse(struct manconf *, const char *, char *, char *); 56 int manconf_output(struct manoutput *, const char *, int); 57 void manconf_free(struct manconf *); 58 void manpath_base(struct manpaths *); 59