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

Diff for /mandoc/Attic/apropos_db.h between version 1.3 and 1.13

version 1.3, 2011/11/13 11:10:27 version 1.13, 2012/03/24 01:46:25
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
  *   *
  * 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 17 
Line 17 
 #ifndef APROPOS_H  #ifndef APROPOS_H
 #define APROPOS_H  #define APROPOS_H
   
 struct  rec {  enum    restype {
           RESTYPE_MAN, /* man(7) file */
           RESTYPE_MDOC, /* mdoc(7) file */
           RESTYPE_CAT /* pre-formatted file */
   };
   
   struct  res {
           enum restype     type; /* input file type */
         char            *file; /* file in file-system */          char            *file; /* file in file-system */
         char            *cat; /* category (3p, 3, etc.) */          char            *cat; /* category (3p, 3, etc.) */
         char            *title; /* title (FOO, etc.) */          char            *title; /* title (FOO, etc.) */
Line 25  struct rec {
Line 32  struct rec {
         char            *desc; /* description (from Nd) */          char            *desc; /* description (from Nd) */
         unsigned int     rec; /* record in index */          unsigned int     rec; /* record in index */
         /*          /*
          * By the time the apropos_search() callback is called, these           * The index volume.  This indexes into the array of directories
          * are superfluous.           * searched for manual page databases.
            */
           unsigned int     volume;
           /*
            * The following fields are used internally.
            *
          * Maintain a binary tree for checking the uniqueness of `rec'           * Maintain a binary tree for checking the uniqueness of `rec'
          * when adding elements to the results array.           * when adding elements to the results array.
          * Since the results array is dynamic, use offset in the array           * Since the results array is dynamic, use offset in the array
Line 34  struct rec {
Line 46  struct rec {
          */           */
         int              lhs;          int              lhs;
         int              rhs;          int              rhs;
           int              matched; /* expression is true */
           int             *matches; /* partial truth evaluations */
 };  };
   
 struct  opts {  struct  opts {
Line 45  __BEGIN_DECLS
Line 59  __BEGIN_DECLS
   
 struct  expr;  struct  expr;
   
 void             apropos_search(const struct opts *,  int              apropos_search(int, char **, const struct opts *,
                         const struct expr *, void *,                          const struct expr *, size_t,
                         void (*)(struct rec *, size_t, void *));                          void *, size_t *, struct res **,
                           void (*)(struct res *, size_t, void *));
 struct  expr    *exprcomp(int, char *[]);  struct  expr    *exprcomp(int, char *[], size_t *);
 void             exprfree(struct expr *);  void             exprfree(struct expr *);
   void             resfree(struct res *, size_t);
   struct  expr    *termcomp(int, char *[], size_t *);
   
 __END_DECLS  __END_DECLS
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.13

CVSweb