]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc.h
Plug in the "head" concept for tables. A tbl_head specifies the full
[mandoc.git] / mdoc.h
diff --git a/mdoc.h b/mdoc.h
index 69a1100516d8ea811606293488c71dd8424c59f7..9c22c3364099b135535f8a91ebde7528aece03f1 100644 (file)
--- a/mdoc.h
+++ b/mdoc.h
@@ -1,4 +1,4 @@
-/*     $Id: mdoc.h,v 1.110 2010/12/24 14:00:40 kristaps Exp $ */
+/*     $Id: mdoc.h,v 1.114 2011/01/01 12:18:37 kristaps Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -190,6 +190,7 @@ enum        mdoc_type {
        MDOC_TAIL,
        MDOC_BODY,
        MDOC_BLOCK,
+       MDOC_TBL,
        MDOC_ROOT
 };
 
@@ -353,6 +354,10 @@ struct     mdoc_an {
        enum mdoc_auth    auth; /* -split, etc. */
 };
 
+struct mdoc_rs {
+       struct mdoc_node *child_J; /* pointer to %J */
+};
+
 /*
  * Consists of normalised node arguments.  These should be used instead
  * of iterating through the mdoc_arg pointers of a node: defaults are
@@ -363,6 +368,7 @@ union       mdoc_data {
        struct mdoc_bd    Bd;
        struct mdoc_bf    Bf;
        struct mdoc_bl    Bl;
+       struct mdoc_rs    Rs;
 };
 
 /* 
@@ -380,7 +386,6 @@ struct      mdoc_node {
        enum mdoct        tok; /* tok or MDOC__MAX if none */
        int               flags;
 #define        MDOC_VALID       (1 << 0) /* has been validated */
-#define        MDOC_ACTED       (1 << 1) /* has been acted upon */
 #define        MDOC_EOS         (1 << 2) /* at sentence boundary */
 #define        MDOC_LINE        (1 << 3) /* first macro/text on line */
 #define        MDOC_SYNPRETTY   (1 << 4) /* SYNOPSIS-style formatting */
@@ -395,6 +400,7 @@ struct      mdoc_node {
        struct mdoc_node *body; /* BLOCK */
        struct mdoc_node *tail; /* BLOCK */
        char             *string; /* TEXT */
+       const struct tbl_span *span; /* TBL */
        enum mdoc_endbody end; /* BODY */
 };
 
@@ -422,6 +428,8 @@ int           mdoc_parseln(struct mdoc *, int, char *, int);
 const struct mdoc_node *mdoc_node(const struct mdoc *);
 const struct mdoc_meta *mdoc_meta(const struct mdoc *);
 int              mdoc_endparse(struct mdoc *);
+int              mdoc_addspan(struct mdoc *,
+                       const struct tbl_span *);
 
 __END_DECLS