Print this page
5051 import mdocml-1.12.3
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: TBD
   1 /*      $Id: libroff.h,v 1.27 2011/07/25 15:37:00 kristaps Exp $ */
   2 /*
   3  * Copyright (c) 2009, 2010, 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 LIBROFF_H
  18 #define LIBROFF_H
  19 
  20 __BEGIN_DECLS
  21 
  22 enum    tbl_part {
  23         TBL_PART_OPTS, /* in options (first line) */
  24         TBL_PART_LAYOUT, /* describing layout */
  25         TBL_PART_DATA, /* creating data rows */
  26         TBL_PART_CDATA /* continue previous row */
  27 };
  28 
  29 struct  tbl_node {
  30         struct mparse    *parse; /* parse point */
  31         int               pos; /* invocation column */
  32         int               line; /* invocation line */
  33         enum tbl_part     part;
  34         struct tbl        opts;
  35         struct tbl_row   *first_row;
  36         struct tbl_row   *last_row;
  37         struct tbl_span  *first_span;
  38         struct tbl_span  *current_span;
  39         struct tbl_span  *last_span;
  40         struct tbl_head  *first_head;
  41         struct tbl_head  *last_head;
  42         struct tbl_node  *next;
  43 };
  44 
  45 struct  eqn_node {
  46         struct eqn_def   *defs;
  47         size_t            defsz;
  48         char             *data;
  49         size_t            rew;
  50         size_t            cur;
  51         size_t            sz;
  52         int               gsize;
  53         struct eqn        eqn;
  54         struct mparse    *parse;


   1 /*      $Id: libroff.h,v 1.28 2013/05/31 21:37:17 schwarze Exp $ */
   2 /*
   3  * Copyright (c) 2009, 2010, 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 LIBROFF_H
  18 #define LIBROFF_H
  19 
  20 __BEGIN_DECLS
  21 
  22 enum    tbl_part {
  23         TBL_PART_OPTS, /* in options (first line) */
  24         TBL_PART_LAYOUT, /* describing layout */
  25         TBL_PART_DATA, /* creating data rows */
  26         TBL_PART_CDATA /* continue previous row */
  27 };
  28 
  29 struct  tbl_node {
  30         struct mparse    *parse; /* parse point */
  31         int               pos; /* invocation column */
  32         int               line; /* invocation line */
  33         enum tbl_part     part;
  34         struct tbl_opts   opts;
  35         struct tbl_row   *first_row;
  36         struct tbl_row   *last_row;
  37         struct tbl_span  *first_span;
  38         struct tbl_span  *current_span;
  39         struct tbl_span  *last_span;
  40         struct tbl_head  *first_head;
  41         struct tbl_head  *last_head;
  42         struct tbl_node  *next;
  43 };
  44 
  45 struct  eqn_node {
  46         struct eqn_def   *defs;
  47         size_t            defsz;
  48         char             *data;
  49         size_t            rew;
  50         size_t            cur;
  51         size_t            sz;
  52         int               gsize;
  53         struct eqn        eqn;
  54         struct mparse    *parse;