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

Annotation of mandoc/apropos_db.h, Revision 1.4

1.4     ! kristaps    1: /*     $Id: apropos_db.h,v 1.3 2011/11/13 11:10:27 schwarze Exp $ */
1.1       schwarze    2: /*
                      3:  * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
                      4:  *
                      5:  * Permission to use, copy, modify, and distribute this software for any
                      6:  * purpose with or without fee is hereby granted, provided that the above
                      7:  * copyright notice and this permission notice appear in all copies.
                      8:  *
                      9:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                     10:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     11:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                     12:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     13:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                     14:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
                     15:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                     16:  */
                     17: #ifndef APROPOS_H
                     18: #define APROPOS_H
                     19:
                     20: struct rec {
                     21:        char            *file; /* file in file-system */
                     22:        char            *cat; /* category (3p, 3, etc.) */
                     23:        char            *title; /* title (FOO, etc.) */
                     24:        char            *arch; /* arch (or empty string) */
                     25:        char            *desc; /* description (from Nd) */
                     26:        unsigned int     rec; /* record in index */
                     27:        /*
                     28:         * By the time the apropos_search() callback is called, these
                     29:         * are superfluous.
                     30:         * Maintain a binary tree for checking the uniqueness of `rec'
                     31:         * when adding elements to the results array.
                     32:         * Since the results array is dynamic, use offset in the array
                     33:         * instead of a pointer to the structure.
                     34:         */
                     35:        int              lhs;
                     36:        int              rhs;
                     37: };
                     38:
                     39: struct opts {
                     40:        const char      *arch; /* restrict to architecture */
                     41:        const char      *cat; /* restrict to manual section */
                     42: };
                     43:
                     44: __BEGIN_DECLS
                     45:
                     46: struct expr;
                     47:
                     48: void            apropos_search(const struct opts *,
                     49:                        const struct expr *, void *,
                     50:                        void (*)(struct rec *, size_t, void *));
                     51:
1.4     ! kristaps   52: struct expr    *exprcomp(char *);
1.1       schwarze   53: void            exprfree(struct expr *);
                     54:
                     55: __END_DECLS
                     56:
                     57: #endif /*!APROPOS_H*/

CVSweb