]> git.cameronkatri.com Git - mandoc.git/blobdiff - mdoc.h
fix RCS IDs
[mandoc.git] / mdoc.h
diff --git a/mdoc.h b/mdoc.h
index cc807d778e69db8a8b2786e3466f5611a175c3d3..f7c933d562e9305ed1212952495afb2e379f3151 100644 (file)
--- a/mdoc.h
+++ b/mdoc.h
@@ -1,4 +1,4 @@
-/*     $Id: mdoc.h,v 1.124 2012/11/16 17:16:55 schwarze Exp $ */
+/*     $Id: mdoc.h,v 1.132 2014/12/01 04:05:32 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -14,8 +14,6 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
-#ifndef MDOC_H
-#define MDOC_H
 
 enum   mdoct {
        MDOC_Ap = 0,
@@ -140,6 +138,7 @@ enum        mdoct {
        MDOC_sp,
        MDOC__U,
        MDOC_Ta,
+       MDOC_ll,
        MDOC_MAX
 };
 
@@ -186,7 +185,7 @@ enum        mdoc_type {
        MDOC_ROOT
 };
 
-/* 
+/*
  * Section (named/unnamed) of `Sh'.   Note that these appear in the
  * conventional order imposed by mdoc.7.  In the case of SEC_NONE, no
  * section has been invoked (this shouldn't happen).  SEC_CUSTOM refers
@@ -198,6 +197,7 @@ enum        mdoc_sec {
        SEC_LIBRARY, /* LIBRARY */
        SEC_SYNOPSIS, /* SYNOPSIS */
        SEC_DESCRIPTION, /* DESCRIPTION */
+       SEC_CONTEXT, /* CONTEXT */
        SEC_IMPLEMENTATION, /* IMPLEMENTATION NOTES */
        SEC_RETURN_VALUES, /* RETURN VALUES */
        SEC_ENVIRONMENT,  /* ENVIRONMENT */
@@ -214,7 +214,7 @@ enum        mdoc_sec {
        SEC_CAVEATS, /* CAVEATS */
        SEC_BUGS, /* BUGS */
        SEC_SECURITY, /* SECURITY */
-       SEC_CUSTOM, 
+       SEC_CUSTOM,
        SEC__MAX
 };
 
@@ -228,11 +228,11 @@ struct    mdoc_meta {
        char             *name; /* leading `Nm' name */
 };
 
-/* 
- * An argument to a macro (multiple values = `-column xxx yyy'). 
+/*
+ * An argument to a macro (multiple values = `-column xxx yyy').
  */
 struct mdoc_argv {
-       enum mdocargt     arg; /* type of argument */
+       enum mdocargt     arg; /* type of argument */
        int               line;
        int               pos;
        size_t            sz; /* elements in "value" */
@@ -244,7 +244,7 @@ struct      mdoc_argv {
  * blocks have multiple instances of the same arguments spread across
  * the HEAD, BODY, TAIL, and BLOCK node types.
  */
-struct         mdoc_arg {
+struct mdoc_arg {
        size_t            argc;
        struct mdoc_argv *argv;
        unsigned int      refcnt;
@@ -278,7 +278,7 @@ enum        mdoc_list {
 
 enum   mdoc_disp {
        DISP__NONE = 0,
-       DISP_centred, /* -centered */
+       DISP_centered, /* -centered */
        DISP_ragged, /* -ragged */
        DISP_unfilled, /* -unfilled */
        DISP_filled, /* -filled */
@@ -332,15 +332,16 @@ struct    mdoc_rs {
  * provided, etc.
  */
 union  mdoc_data {
-       struct mdoc_an    An;
+       struct mdoc_an    An;
        struct mdoc_bd    Bd;
        struct mdoc_bf    Bf;
        struct mdoc_bl    Bl;
+       struct mdoc_node *Es;
        struct mdoc_rs    Rs;
 };
 
-/* 
- * Single node in tree-linked AST. 
+/*
+ * Single node in tree-linked AST.
  */
 struct mdoc_node {
        struct mdoc_node *parent; /* parent AST node */
@@ -351,6 +352,7 @@ struct      mdoc_node {
        int               nchild; /* number children */
        int               line; /* parse line */
        int               pos; /* parse column */
+       int               lastline; /* the node ends on this line */
        enum mdoct        tok; /* tok or MDOC__MAX if none */
        int               flags;
 #define        MDOC_VALID       (1 << 0) /* has been validated */
@@ -388,7 +390,6 @@ struct      mdoc;
 
 const struct mdoc_node *mdoc_node(const struct mdoc *);
 const struct mdoc_meta *mdoc_meta(const struct mdoc *);
+void mdoc_deroff(char **, const struct mdoc_node *);
 
 __END_DECLS
-
-#endif /*!MDOC_H*/