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

Annotation of mandoc/dba.h, Revision 1.2

1.2     ! schwarze    1: /*     $Id: dba.h,v 1.1 2016/07/19 21:31:55 schwarze Exp $ */
1.1       schwarze    2: /*
                      3:  * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
                      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:  * Public interface of the allocation-based version
                     18:  * of the mandoc database, for read-write access.
                     19:  * To be used by dba.c, dba_read.c, and makewhatis(8).
                     20:  */
                     21:
                     22: #define        DBP_NAME        0
                     23: #define        DBP_SECT        1
                     24: #define        DBP_ARCH        2
                     25: #define        DBP_DESC        3
                     26: #define        DBP_FILE        4
                     27: #define        DBP_MAX         5
                     28:
                     29: struct dba_array;
                     30:
                     31: struct dba {
                     32:        struct dba_array        *pages;
                     33:        struct dba_array        *macros;
                     34: };
                     35:
                     36:
                     37: struct dba     *dba_new(int32_t);
                     38: void            dba_free(struct dba *);
                     39: struct dba     *dba_read(const char *);
                     40: int             dba_write(const char *, struct dba *);
                     41:
                     42: struct dba_array *dba_page_new(struct dba_array *, const char *,
1.2     ! schwarze   43:                        const char *, const char *, enum form);
1.1       schwarze   44: void            dba_page_add(struct dba_array *, int32_t, const char *);
                     45: void            dba_page_alias(struct dba_array *, const char *, uint64_t);
                     46:
                     47: void            dba_macro_new(struct dba *, int32_t,
                     48:                        const char *, const int32_t *);
                     49: void            dba_macro_add(struct dba_array *, int32_t,
                     50:                        const char *, struct dba_array *);

CVSweb