]> git.cameronkatri.com Git - mandoc.git/blobdiff - mansearch.h
In -Tman .Bl -compact, skip the blank line only before the first item
[mandoc.git] / mansearch.h
index 861944fbc1a08577674bffdb66e495baec8d5694..8cfbc34066fe7a45b2245118671ce0066315d45e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mansearch.h,v 1.1 2012/06/08 10:36:23 kristaps Exp $ */
+/*     $Id: mansearch.h,v 1.2 2012/06/09 14:11:16 kristaps Exp $ */
 /*
  * Copyright (c) 2012 Kristaps Dzonsons <kristaps@bsd.lv>
  *
 #ifndef MANSEARCH_H
 #define MANSEARCH_H
 
+#define        MANDOC_DB        "mandocdb.db"
+
+#define        TYPE_An          0x0000000000000001ULL
+#define        TYPE_Ar          0x0000000000000002ULL
+#define        TYPE_At          0x0000000000000004ULL
+#define        TYPE_Bsx         0x0000000000000008ULL
+#define        TYPE_Bx          0x0000000000000010ULL
+#define        TYPE_Cd          0x0000000000000020ULL
+#define        TYPE_Cm          0x0000000000000040ULL
+#define        TYPE_Dv          0x0000000000000080ULL
+#define        TYPE_Dx          0x0000000000000100ULL
+#define        TYPE_Em          0x0000000000000200ULL
+#define        TYPE_Er          0x0000000000000400ULL
+#define        TYPE_Ev          0x0000000000000800ULL
+#define        TYPE_Fa          0x0000000000001000ULL
+#define        TYPE_Fl          0x0000000000002000ULL
+#define        TYPE_Fn          0x0000000000004000ULL
+#define        TYPE_Ft          0x0000000000008000ULL
+#define        TYPE_Fx          0x0000000000010000ULL
+#define        TYPE_Ic          0x0000000000020000ULL
+#define        TYPE_In          0x0000000000040000ULL
+#define        TYPE_Lb          0x0000000000080000ULL
+#define        TYPE_Li          0x0000000000100000ULL
+#define        TYPE_Lk          0x0000000000200000ULL
+#define        TYPE_Ms          0x0000000000400000ULL
+#define        TYPE_Mt          0x0000000000800000ULL
+#define        TYPE_Nd          0x0000000001000000ULL
+#define        TYPE_Nm          0x0000000002000000ULL
+#define        TYPE_Nx          0x0000000004000000ULL
+#define        TYPE_Ox          0x0000000008000000ULL
+#define        TYPE_Pa          0x0000000010000000ULL
+#define        TYPE_Rs          0x0000000020000000ULL
+#define        TYPE_Sh          0x0000000040000000ULL
+#define        TYPE_Ss          0x0000000080000000ULL
+#define        TYPE_St          0x0000000100000000ULL
+#define        TYPE_Sy          0x0000000200000000ULL
+#define        TYPE_Tn          0x0000000400000000ULL
+#define        TYPE_Va          0x0000000800000000ULL
+#define        TYPE_Vt          0x0000001000000000ULL
+#define        TYPE_Xr          0x0000002000000000ULL
+
+__BEGIN_DECLS
+
 struct manpage {
        char             file[MAXPATHLEN]; /* prefixed by manpath */
        char            *desc; /* description of manpage */
        int              form; /* 0 == catpage */
 };
 
-__BEGIN_DECLS
+struct mansearch {
+       const char      *arch; /* architecture/NULL */
+       const char      *sec; /* mansection/NULL */
+       uint64_t         deftype; /* type if no key  */
+       int              flags;
+#define        MANSEARCH_WHATIS 0x01 /* whatis mode: equality, no key */
+};
 
-int    mansearch(const struct manpaths *paths, /* manpaths */
-               const char *arch, /* architecture */
-               const char *sec,  /* manual section */
+int    mansearch(const struct mansearch *cfg, /* options */
+               const struct manpaths *paths, /* manpaths */
                int argc, /* size of argv */
                char *argv[],  /* search terms */
                struct manpage **res, /* results */