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

Diff for /mandoc/mdoc.h between version 1.137 and 1.138

version 1.137, 2015/04/02 21:36:50 version 1.138, 2015/04/02 22:48:17
Line 16 
Line 16 
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
   
 enum    mdoct {  #define MDOC_Ap    0
         MDOC_Ap = 0,  #define MDOC_Dd    1
         MDOC_Dd,  #define MDOC_Dt    2
         MDOC_Dt,  #define MDOC_Os    3
         MDOC_Os,  #define MDOC_Sh    4
         MDOC_Sh,  #define MDOC_Ss    5
         MDOC_Ss,  #define MDOC_Pp    6
         MDOC_Pp,  #define MDOC_D1    7
         MDOC_D1,  #define MDOC_Dl    8
         MDOC_Dl,  #define MDOC_Bd    9
         MDOC_Bd,  #define MDOC_Ed   10
         MDOC_Ed,  #define MDOC_Bl   11
         MDOC_Bl,  #define MDOC_El   12
         MDOC_El,  #define MDOC_It   13
         MDOC_It,  #define MDOC_Ad   14
         MDOC_Ad,  #define MDOC_An   15
         MDOC_An,  #define MDOC_Ar   16
         MDOC_Ar,  #define MDOC_Cd   17
         MDOC_Cd,  #define MDOC_Cm   18
         MDOC_Cm,  #define MDOC_Dv   19
         MDOC_Dv,  #define MDOC_Er   20
         MDOC_Er,  #define MDOC_Ev   21
         MDOC_Ev,  #define MDOC_Ex   22
         MDOC_Ex,  #define MDOC_Fa   23
         MDOC_Fa,  #define MDOC_Fd   24
         MDOC_Fd,  #define MDOC_Fl   25
         MDOC_Fl,  #define MDOC_Fn   26
         MDOC_Fn,  #define MDOC_Ft   27
         MDOC_Ft,  #define MDOC_Ic   28
         MDOC_Ic,  #define MDOC_In   29
         MDOC_In,  #define MDOC_Li   30
         MDOC_Li,  #define MDOC_Nd   31
         MDOC_Nd,  #define MDOC_Nm   32
         MDOC_Nm,  #define MDOC_Op   33
         MDOC_Op,  #define MDOC_Ot   34
         MDOC_Ot,  #define MDOC_Pa   35
         MDOC_Pa,  #define MDOC_Rv   36
         MDOC_Rv,  #define MDOC_St   37
         MDOC_St,  #define MDOC_Va   38
         MDOC_Va,  #define MDOC_Vt   39
         MDOC_Vt,  #define MDOC_Xr   40
         MDOC_Xr,  #define MDOC__A   41
         MDOC__A,  #define MDOC__B   42
         MDOC__B,  #define MDOC__D   43
         MDOC__D,  #define MDOC__I   44
         MDOC__I,  #define MDOC__J   45
         MDOC__J,  #define MDOC__N   46
         MDOC__N,  #define MDOC__O   47
         MDOC__O,  #define MDOC__P   48
         MDOC__P,  #define MDOC__R   49
         MDOC__R,  #define MDOC__T   50
         MDOC__T,  #define MDOC__V   51
         MDOC__V,  #define MDOC_Ac   52
         MDOC_Ac,  #define MDOC_Ao   53
         MDOC_Ao,  #define MDOC_Aq   54
         MDOC_Aq,  #define MDOC_At   55
         MDOC_At,  #define MDOC_Bc   56
         MDOC_Bc,  #define MDOC_Bf   57
         MDOC_Bf,  #define MDOC_Bo   58
         MDOC_Bo,  #define MDOC_Bq   59
         MDOC_Bq,  #define MDOC_Bsx  60
         MDOC_Bsx,  #define MDOC_Bx   61
         MDOC_Bx,  #define MDOC_Db   62
         MDOC_Db,  #define MDOC_Dc   63
         MDOC_Dc,  #define MDOC_Do   64
         MDOC_Do,  #define MDOC_Dq   65
         MDOC_Dq,  #define MDOC_Ec   66
         MDOC_Ec,  #define MDOC_Ef   67
         MDOC_Ef,  #define MDOC_Em   68
         MDOC_Em,  #define MDOC_Eo   69
         MDOC_Eo,  #define MDOC_Fx   70
         MDOC_Fx,  #define MDOC_Ms   71
         MDOC_Ms,  #define MDOC_No   72
         MDOC_No,  #define MDOC_Ns   73
         MDOC_Ns,  #define MDOC_Nx   74
         MDOC_Nx,  #define MDOC_Ox   75
         MDOC_Ox,  #define MDOC_Pc   76
         MDOC_Pc,  #define MDOC_Pf   77
         MDOC_Pf,  #define MDOC_Po   78
         MDOC_Po,  #define MDOC_Pq   79
         MDOC_Pq,  #define MDOC_Qc   80
         MDOC_Qc,  #define MDOC_Ql   81
         MDOC_Ql,  #define MDOC_Qo   82
         MDOC_Qo,  #define MDOC_Qq   83
         MDOC_Qq,  #define MDOC_Re   84
         MDOC_Re,  #define MDOC_Rs   85
         MDOC_Rs,  #define MDOC_Sc   86
         MDOC_Sc,  #define MDOC_So   87
         MDOC_So,  #define MDOC_Sq   88
         MDOC_Sq,  #define MDOC_Sm   89
         MDOC_Sm,  #define MDOC_Sx   90
         MDOC_Sx,  #define MDOC_Sy   91
         MDOC_Sy,  #define MDOC_Tn   92
         MDOC_Tn,  #define MDOC_Ux   93
         MDOC_Ux,  #define MDOC_Xc   94
         MDOC_Xc,  #define MDOC_Xo   95
         MDOC_Xo,  #define MDOC_Fo   96
         MDOC_Fo,  #define MDOC_Fc   97
         MDOC_Fc,  #define MDOC_Oo   98
         MDOC_Oo,  #define MDOC_Oc   99
         MDOC_Oc,  #define MDOC_Bk  100
         MDOC_Bk,  #define MDOC_Ek  101
         MDOC_Ek,  #define MDOC_Bt  102
         MDOC_Bt,  #define MDOC_Hf  103
         MDOC_Hf,  #define MDOC_Fr  104
         MDOC_Fr,  #define MDOC_Ud  105
         MDOC_Ud,  #define MDOC_Lb  106
         MDOC_Lb,  #define MDOC_Lp  107
         MDOC_Lp,  #define MDOC_Lk  108
         MDOC_Lk,  #define MDOC_Mt  109
         MDOC_Mt,  #define MDOC_Brq 110
         MDOC_Brq,  #define MDOC_Bro 111
         MDOC_Bro,  #define MDOC_Brc 112
         MDOC_Brc,  #define MDOC__C  113
         MDOC__C,  #define MDOC_Es  114
         MDOC_Es,  #define MDOC_En  115
         MDOC_En,  #define MDOC_Dx  116
         MDOC_Dx,  #define MDOC__Q  117
         MDOC__Q,  #define MDOC_br  118
         MDOC_br,  #define MDOC_sp  119
         MDOC_sp,  #define MDOC__U  120
         MDOC__U,  #define MDOC_Ta  121
         MDOC_Ta,  #define MDOC_ll  122
         MDOC_ll,  #define MDOC_MAX 123
         MDOC_MAX  
 };  
   
 enum    mdocargt {  enum    mdocargt {
         MDOC_Split, /* -split */          MDOC_Split, /* -split */
Line 174  enum mdocargt {
Line 172  enum mdocargt {
         MDOC_ARG_MAX          MDOC_ARG_MAX
 };  };
   
 /*  
  * 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  
  * to other sections.  
  */  
 enum    mdoc_sec {  
         SEC_NONE = 0,  
         SEC_NAME, /* NAME */  
         SEC_LIBRARY, /* LIBRARY */  
         SEC_SYNOPSIS, /* SYNOPSIS */  
         SEC_DESCRIPTION, /* DESCRIPTION */  
         SEC_CONTEXT, /* CONTEXT */  
         SEC_IMPLEMENTATION, /* IMPLEMENTATION NOTES */  
         SEC_RETURN_VALUES, /* RETURN VALUES */  
         SEC_ENVIRONMENT,  /* ENVIRONMENT */  
         SEC_FILES, /* FILES */  
         SEC_EXIT_STATUS, /* EXIT STATUS */  
         SEC_EXAMPLES, /* EXAMPLES */  
         SEC_DIAGNOSTICS, /* DIAGNOSTICS */  
         SEC_COMPATIBILITY, /* COMPATIBILITY */  
         SEC_ERRORS, /* ERRORS */  
         SEC_SEE_ALSO, /* SEE ALSO */  
         SEC_STANDARDS, /* STANDARDS */  
         SEC_HISTORY, /* HISTORY */  
         SEC_AUTHORS, /* AUTHORS */  
         SEC_CAVEATS, /* CAVEATS */  
         SEC_BUGS, /* BUGS */  
         SEC_SECURITY, /* SECURITY */  
         SEC_CUSTOM,  
         SEC__MAX  
 };  
   
 struct  mdoc_meta {  struct  mdoc_meta {
         char             *msec; /* `Dt' section (1, 3p, etc.) */          char             *msec; /* `Dt' section (1, 3p, etc.) */
         char             *vol; /* `Dt' volume (implied) */          char             *vol; /* `Dt' volume (implied) */
Line 239  struct mdoc_arg {
Line 204  struct mdoc_arg {
         unsigned int      refcnt;          unsigned int      refcnt;
 };  };
   
 /*  
  * Indicates that a BODY's formatting has ended, but the scope is still  
  * open.  Used for syntax-broken blocks.  
  */  
 enum    mdoc_endbody {  
         ENDBODY_NOT = 0,  
         ENDBODY_SPACE, /* is broken: append a space */  
         ENDBODY_NOSPACE /* is broken: don't append a space */  
 };  
   
 enum    mdoc_list {  enum    mdoc_list {
         LIST__NONE = 0,          LIST__NONE = 0,
         LIST_bullet, /* -bullet */          LIST_bullet, /* -bullet */
Line 325  union mdoc_data {
Line 280  union mdoc_data {
         struct mdoc_bd    Bd;          struct mdoc_bd    Bd;
         struct mdoc_bf    Bf;          struct mdoc_bf    Bf;
         struct mdoc_bl    Bl;          struct mdoc_bl    Bl;
         struct mdoc_node *Es;          struct roff_node *Es;
         struct mdoc_rs    Rs;          struct mdoc_rs    Rs;
 };  };
   
 /*  /* Names of macros. */
  * Single node in tree-linked AST.  
  */  
 struct  mdoc_node {  
         struct mdoc_node *parent; /* parent AST node */  
         struct mdoc_node *child; /* first child AST node */  
         struct mdoc_node *last; /* last child AST node */  
         struct mdoc_node *next; /* sibling AST node */  
         struct mdoc_node *prev; /* prior sibling AST node */  
         int               nchild; /* number children */  
         int               line; /* parse line */  
         int               pos; /* parse column */  
         enum mdoct        tok; /* tok or MDOC__MAX if none */  
         int               flags;  
 #define MDOC_VALID       (1 << 0) /* has been validated */  
 #define MDOC_ENDED       (1 << 1) /* gone past body end mark */  
 #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 */  
 #define MDOC_BROKEN      (1 << 5) /* must validate parent when ending */  
 #define MDOC_DELIMO      (1 << 6)  
 #define MDOC_DELIMC      (1 << 7)  
         enum roff_type    type; /* AST node type */  
         enum mdoc_sec     sec; /* current named section */  
         union mdoc_data  *norm; /* normalised args */  
         int               prev_font; /* before entering this node */  
         /* FIXME: these can be union'd to shave a few bytes. */  
         struct mdoc_arg  *args; /* BLOCK/ELEM */  
         struct mdoc_node *head; /* BLOCK */  
         struct mdoc_node *body; /* BLOCK/ENDBODY */  
         struct mdoc_node *tail; /* BLOCK */  
         char             *string; /* TEXT */  
         const struct tbl_span *span; /* TBL */  
         const struct eqn *eqn; /* EQN */  
         enum mdoc_endbody end; /* BODY */  
 };  
   
 /* Names of macros.  Index is enum mdoct. */  
 extern  const char *const *mdoc_macronames;  extern  const char *const *mdoc_macronames;
   
 /* Names of macro args.  Index is enum mdocargt. */  /* Names of macro args.  Index is enum mdocargt. */
Line 376  __BEGIN_DECLS
Line 294  __BEGIN_DECLS
   
 struct  mdoc;  struct  mdoc;
   
 const struct mdoc_node *mdoc_node(const struct mdoc *);  const struct roff_node *mdoc_node(const struct mdoc *);
 const struct mdoc_meta *mdoc_meta(const struct mdoc *);  const struct mdoc_meta *mdoc_meta(const struct mdoc *);
 void mdoc_deroff(char **, const struct mdoc_node *);  void mdoc_deroff(char **, const struct roff_node *);
   
 __END_DECLS  __END_DECLS

Legend:
Removed from v.1.137  
changed lines
  Added in v.1.138

CVSweb