[BACK]Return to mansearch.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/mansearch.h between version 1.11 and 1.21

version 1.11, 2014/04/09 21:50:08 version 1.21, 2014/11/27 01:58:21
Line 20 
Line 20 
   
 #define MANDOC_DB        "mandoc.db"  #define MANDOC_DB        "mandoc.db"
   
 #define TYPE_NAME        0x0000000000000001ULL  #define TYPE_arch        0x0000000000000001ULL
 #define TYPE_Nm          0x0000000000000002ULL  #define TYPE_sec         0x0000000000000002ULL
 #define TYPE_arch        0x0000000000000004ULL  #define TYPE_Xr          0x0000000000000004ULL
 #define TYPE_sec         0x0000000000000008ULL  #define TYPE_Ar          0x0000000000000008ULL
 #define TYPE_Xr          0x0000000000000010ULL  #define TYPE_Fa          0x0000000000000010ULL
 #define TYPE_Ar          0x0000000000000020ULL  #define TYPE_Fl          0x0000000000000020ULL
 #define TYPE_Fa          0x0000000000000040ULL  #define TYPE_Dv          0x0000000000000040ULL
 #define TYPE_Fl          0x0000000000000080ULL  #define TYPE_Fn          0x0000000000000080ULL
 #define TYPE_Dv          0x0000000000000100ULL  #define TYPE_Ic          0x0000000000000100ULL
 #define TYPE_Fn          0x0000000000000200ULL  #define TYPE_Pa          0x0000000000000200ULL
 #define TYPE_Ic          0x0000000000000400ULL  #define TYPE_Cm          0x0000000000000400ULL
 #define TYPE_Pa          0x0000000000000800ULL  #define TYPE_Li          0x0000000000000800ULL
 #define TYPE_Cm          0x0000000000001000ULL  #define TYPE_Em          0x0000000000001000ULL
 #define TYPE_Li          0x0000000000002000ULL  #define TYPE_Cd          0x0000000000002000ULL
 #define TYPE_Em          0x0000000000004000ULL  #define TYPE_Va          0x0000000000004000ULL
 #define TYPE_Cd          0x0000000000008000ULL  #define TYPE_Ft          0x0000000000008000ULL
 #define TYPE_Va          0x0000000000010000ULL  #define TYPE_Tn          0x0000000000010000ULL
 #define TYPE_Ft          0x0000000000020000ULL  #define TYPE_Er          0x0000000000020000ULL
 #define TYPE_Tn          0x0000000000040000ULL  #define TYPE_Ev          0x0000000000040000ULL
 #define TYPE_Er          0x0000000000080000ULL  #define TYPE_Sy          0x0000000000080000ULL
 #define TYPE_Ev          0x0000000000100000ULL  #define TYPE_Sh          0x0000000000100000ULL
 #define TYPE_Sy          0x0000000000200000ULL  #define TYPE_In          0x0000000000200000ULL
 #define TYPE_Sh          0x0000000000400000ULL  #define TYPE_Ss          0x0000000000400000ULL
 #define TYPE_In          0x0000000000800000ULL  #define TYPE_Ox          0x0000000000800000ULL
 #define TYPE_Ss          0x0000000001000000ULL  #define TYPE_An          0x0000000001000000ULL
 #define TYPE_Ox          0x0000000002000000ULL  #define TYPE_Mt          0x0000000002000000ULL
 #define TYPE_An          0x0000000004000000ULL  #define TYPE_St          0x0000000004000000ULL
 #define TYPE_Mt          0x0000000008000000ULL  #define TYPE_Bx          0x0000000008000000ULL
 #define TYPE_St          0x0000000010000000ULL  #define TYPE_At          0x0000000010000000ULL
 #define TYPE_Bx          0x0000000020000000ULL  #define TYPE_Nx          0x0000000020000000ULL
 #define TYPE_At          0x0000000040000000ULL  #define TYPE_Fx          0x0000000040000000ULL
 #define TYPE_Nx          0x0000000080000000ULL  #define TYPE_Lk          0x0000000080000000ULL
 #define TYPE_Fx          0x0000000100000000ULL  #define TYPE_Ms          0x0000000100000000ULL
 #define TYPE_Lk          0x0000000200000000ULL  #define TYPE_Bsx         0x0000000200000000ULL
 #define TYPE_Ms          0x0000000400000000ULL  #define TYPE_Dx          0x0000000400000000ULL
 #define TYPE_Bsx         0x0000000800000000ULL  #define TYPE_Rs          0x0000000800000000ULL
 #define TYPE_Dx          0x0000001000000000ULL  #define TYPE_Vt          0x0000001000000000ULL
 #define TYPE_Rs          0x0000002000000000ULL  #define TYPE_Lb          0x0000002000000000ULL
 #define TYPE_Vt          0x0000004000000000ULL  #define TYPE_Nm          0x0000004000000000ULL
 #define TYPE_Lb          0x0000008000000000ULL  #define TYPE_Nd          0x0000008000000000ULL
 #define TYPE_Nd          0x0000010000000000ULL  
   
 __BEGIN_DECLS  #define NAME_SYN         0x0000004000000001ULL
   #define NAME_FIRST       0x0000004000000004ULL
   #define NAME_TITLE       0x0000004000000006ULL
   #define NAME_HEAD        0x0000004000000008ULL
   #define NAME_FILE        0x0000004000000010ULL
   #define NAME_MASK        0x000000000000001fULL
   
   #define FORM_CAT         0  /* manual page is preformatted */
   #define FORM_SRC         1  /* format is mdoc(7) or man(7) */
   #define FORM_NONE        4  /* format is unknown */
   
   enum    argmode {
           ARG_FILE = 0,
           ARG_NAME,
           ARG_WORD,
           ARG_EXPR
   };
   
 struct  manpage {  struct  manpage {
         char            *file; /* to be prefixed by manpath */          char            *file; /* to be prefixed by manpath */
         char            *names; /* a list of names with sections */          char            *names; /* a list of names with sections */
         char            *output; /* user-defined additional output */          char            *output; /* user-defined additional output */
           size_t           ipath; /* number of the manpath */
           uint64_t         bits; /* name type mask */
           int              sec; /* section number, 10 means invalid */
         int              form; /* 0 == catpage */          int              form; /* 0 == catpage */
 };  };
   
 struct  mansearch {  struct  mansearch {
         const char      *arch; /* architecture/NULL */          const char      *arch; /* architecture/NULL */
         const char      *sec; /* mansection/NULL */          const char      *sec; /* mansection/NULL */
         uint64_t         deftype; /* type if no key  */          const char      *outkey; /* show content of this macro */
         int              flags;          enum argmode     argmode; /* interpretation of arguments */
 #define MANSEARCH_WHATIS 0x01 /* whatis mode: equality, no key */          int              firstmatch; /* first matching database only */
 };  };
   
   __BEGIN_DECLS
   
   int     mansearch_setup(int);
 int     mansearch(const struct mansearch *cfg, /* options */  int     mansearch(const struct mansearch *cfg, /* options */
                 const struct manpaths *paths, /* manpaths */                  const struct manpaths *paths, /* manpaths */
                 int argc, /* size of argv */                  int argc, /* size of argv */
                 char *argv[],  /* search terms */                  char *argv[],  /* search terms */
                 const char *outkey, /* name of additional output key */  
                 struct manpage **res, /* results */                  struct manpage **res, /* results */
                 size_t *ressz); /* results returned */                  size_t *ressz); /* results returned */
   void    mansearch_free(struct manpage *, size_t);
   
 __END_DECLS  __END_DECLS
   
 #endif /*!MANSEARCH_H*/  #endif /* MANSEARCH_H */

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.21

CVSweb