summaryrefslogtreecommitdiffstats
path: root/mansearch.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2012-06-08 10:36:23 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2012-06-08 10:36:23 +0000
commit4d2a21b04fba0be7d5b7cea8853dfb6bdf5eb1fe (patch)
treeb34b6256548e09a5ef487b617ef3cdb029232361 /mansearch.h
parent2c10c42e89cdbfadb0b2881598c48fe3a54ba0b9 (diff)
downloadmandoc-4d2a21b04fba0be7d5b7cea8853dfb6bdf5eb1fe.tar.gz
Add a new mansearch.h interface, which replaces apropos_db.c
This is a much more minimal interface that stuffs all operations into a single function. It uses sqlite3 and ohash.
Diffstat (limited to 'mansearch.h')
-rw-r--r--mansearch.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/mansearch.h b/mansearch.h
new file mode 100644
index 00000000..b9caf4ae
--- /dev/null
+++ b/mansearch.h
@@ -0,0 +1,38 @@
+/* $Id$ */
+/*
+ * Copyright (c) 2012 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 AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR 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.
+ */
+#ifndef MANSEARCH_H
+#define MANSEARCH_H
+
+struct manpage {
+ char file[MAXPATHLEN]; /* prefixed by manpath */
+ char *desc; /* description of manpage */
+ int form; /* 0 == catpage */
+};
+
+__BEGIN_DECLS
+
+int mansearch(const struct manpaths *paths, /* manpaths */
+ const char *arch, /* architecture */
+ const char *sec, /* manual section */
+ int argc, /* size of argv */
+ char *argv[], /* search terms */
+ struct manpage **res, /* results */
+ size_t *ressz); /* results returned */
+
+__END_DECLS
+
+#endif /*!MANSEARCH_H*/