aboutsummaryrefslogtreecommitdiffstatshomepage
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
commit9a186f60163058003605fd44bdac5d7a7087c8ad (patch)
treee6ac4976ce35ab5411fdcd48fb860cf826f6a43c /mansearch.h
parent033b1fa0a9bfc7ec9e2e6fec324ef5d7f721647f (diff)
downloadmandoc-9a186f60163058003605fd44bdac5d7a7087c8ad.tar.gz
mandoc-9a186f60163058003605fd44bdac5d7a7087c8ad.tar.zst
mandoc-9a186f60163058003605fd44bdac5d7a7087c8ad.zip
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..861944fb
--- /dev/null
+++ b/mansearch.h
@@ -0,0 +1,38 @@
+/* $Id: mansearch.h,v 1.1 2012/06/08 10:36:23 kristaps Exp $ */
+/*
+ * 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*/