aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/manconf.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-03-27 17:37:25 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-03-27 17:37:25 +0000
commit0376f290310249f2701221cdaaf7138fae3c6989 (patch)
treeaf23aca22eb3b9d3fa8f3fe749fb6ea4ce2e9a72 /manconf.h
parent0094b52bf5ae4780a23fccaab7adc5bf71c2c161 (diff)
downloadmandoc-0376f290310249f2701221cdaaf7138fae3c6989.tar.gz
mandoc-0376f290310249f2701221cdaaf7138fae3c6989.tar.zst
mandoc-0376f290310249f2701221cdaaf7138fae3c6989.zip
Parse the new man.conf(5) "output" directive.
The next step will be to actually use the parsed data.
Diffstat (limited to 'manconf.h')
-rw-r--r--manconf.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/manconf.h b/manconf.h
new file mode 100644
index 00000000..0784b8d6
--- /dev/null
+++ b/manconf.h
@@ -0,0 +1,51 @@
+/* $OpenBSD$ */
+/*
+ * Copyright (c) 2011, 2015 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* List of unique, absolute paths to manual trees. */
+
+struct manpaths {
+ char **paths;
+ size_t sz;
+};
+
+/* Data from -O options and man.conf(5) output directives. */
+
+struct manoutput {
+ char *includes;
+ char *man;
+ char *paper;
+ char *style;
+ size_t indent;
+ size_t width;
+ int fragment;
+ int mdoc;
+ int synopsisonly;
+};
+
+struct manconf {
+ struct manoutput output;
+ struct manpaths manpath;
+};
+
+__BEGIN_DECLS
+
+void manconf_parse(struct manconf *, const char *, char *, char *);
+void manconf_output(struct manoutput *, const char *);
+void manconf_free(struct manconf *);
+
+__END_DECLS