manconf.h revision 1.1.1.5 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