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

Diff for /mandoc/mansearch.h between version 1.19 and 1.28

version 1.19, 2014/11/11 19:04:55 version 1.28, 2017/04/17 20:05:08
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2012 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2013, 2014, 2016, 2017 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 15 
Line 15 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
 #ifndef MANSEARCH_H  
 #define MANSEARCH_H  
   
 #define MANDOC_DB        "mandoc.db"  #define MANDOC_DB        "mandoc.db"
   #define MANDOCDB_MAGIC   0x3a7d0cdb
   #define MANDOCDB_VERSION 1
   
   #define MACRO_MAX        36
   #define KEY_arch         0
   #define KEY_sec          1
   #define KEY_Nm           38
   #define KEY_Nd           39
   #define KEY_MAX          40
   
 #define TYPE_arch        0x0000000000000001ULL  #define TYPE_arch        0x0000000000000001ULL
 #define TYPE_sec         0x0000000000000002ULL  #define TYPE_sec         0x0000000000000002ULL
 #define TYPE_Xr          0x0000000000000004ULL  #define TYPE_Xr          0x0000000000000004ULL
Line 62 
Line 69 
 #define TYPE_Nd          0x0000008000000000ULL  #define TYPE_Nd          0x0000008000000000ULL
   
 #define NAME_SYN         0x0000004000000001ULL  #define NAME_SYN         0x0000004000000001ULL
 #define NAME_FILE        0x0000004000000002ULL  #define NAME_FIRST       0x0000004000000004ULL
 #define NAME_TITLE       0x000000400000000cULL  #define NAME_TITLE       0x0000004000000006ULL
 #define NAME_FIRST       0x0000004000000008ULL  #define NAME_HEAD        0x0000004000000008ULL
 #define NAME_HEAD        0x0000004000000010ULL  #define NAME_FILE        0x0000004000000010ULL
 #define NAME_MASK        0x000000000000001fULL  #define NAME_MASK        0x000000000000001fULL
   
 #define FORM_CAT         0  /* manual page is preformatted */  enum    form {
 #define FORM_SRC         1  /* format is mdoc(7) or man(7) */          FORM_SRC = 1,   /* Format is mdoc(7) or man(7). */
 #define FORM_GZ          2  /* compressed with gzip(1) */          FORM_CAT,       /* Manual page is preformatted. */
 #define FORM_NONE        4  /* format is unknown */          FORM_NONE       /* Format is unknown. */
   };
   
 enum    argmode {  enum    argmode {
         ARG_FILE = 0,          ARG_FILE = 0,
Line 85  struct manpage {
Line 93  struct manpage {
         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 */          size_t           ipath; /* number of the manpath */
           uint64_t         bits; /* name type mask */
         int              sec; /* section number, 10 means invalid */          int              sec; /* section number, 10 means invalid */
         int              form; /* 0 == catpage */          enum form        form;
 };  };
   
 struct  mansearch {  struct  mansearch {
Line 97  struct mansearch {
Line 106  struct mansearch {
         int              firstmatch; /* first matching database only */          int              firstmatch; /* first matching database only */
 };  };
   
 __BEGIN_DECLS  
   
 int     mansearch_setup(int);  struct  manpaths;
   
 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 */
Line 107  int mansearch(const struct mansearch *cfg, /* options 
Line 116  int mansearch(const struct mansearch *cfg, /* options 
                 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);  void    mansearch_free(struct manpage *, size_t);
   
 __END_DECLS  
   
 #endif /* MANSEARCH_H */  

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.28

CVSweb