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

Diff for /mandoc/libmandoc.h between version 1.13 and 1.14

version 1.13, 2011/03/20 16:02:05 version 1.14, 2011/03/22 09:48:13
Line 17 
Line 17 
 #ifndef LIBMANDOC_H  #ifndef LIBMANDOC_H
 #define LIBMANDOC_H  #define LIBMANDOC_H
   
   enum    rofferr {
           ROFF_CONT, /* continue processing line */
           ROFF_RERUN, /* re-run roff interpreter with offset */
           ROFF_APPEND, /* re-run main parser, appending next line */
           ROFF_REPARSE, /* re-run main parser on the result */
           ROFF_SO, /* include another file */
           ROFF_IGN, /* ignore current line */
           ROFF_TBL, /* a table row was successfully parsed */
           ROFF_EQN, /* an equation was successfully parsed */
           ROFF_ERR /* badness: puke and stop */
   };
   
   /*
    * Available registers (set in libroff, accessed elsewhere).
    */
   enum    regs {
           REG_nS = 0,
           REG__MAX
   };
   
   /*
    * A register (struct reg) can consist of many types: this consists of
    * normalised types from the original string form.
    */
   union   regval {
           unsigned  u; /* unsigned integer */
   };
   
   /*
    * A single register entity.  If "set" is zero, the value of the
    * register should be the default one, which is per-register.  It's
    * assumed that callers know which type in "v" corresponds to which
    * register value.
    */
   struct  reg {
           int               set; /* whether set or not */
           union regval      v; /* parsed data */
   };
   
   /*
    * The primary interface to setting register values is in libroff,
    * although libmdoc and libman from time to time will manipulate
    * registers (such as `.Sh SYNOPSIS' enabling REG_nS).
    */
   struct  regset {
           struct reg        regs[REG__MAX];
   };
   
 __BEGIN_DECLS  __BEGIN_DECLS
   
 void     mandoc_msg(enum mandocerr, struct mparse *,  struct  roff;
                 int, int, const char *);  struct  mdoc;
 void     mandoc_vmsg(enum mandocerr, struct mparse *,  struct  man;
                 int, int, const char *, ...);  
 int      mandoc_special(char *);  void             mandoc_msg(enum mandocerr, struct mparse *,
 char    *mandoc_strdup(const char *);                          int, int, const char *);
 char    *mandoc_getarg(struct mparse *, char **, int, int *);  void             mandoc_vmsg(enum mandocerr, struct mparse *,
 char    *mandoc_normdate(struct mparse *, char *, int, int);                          int, int, const char *, ...);
 int      mandoc_eos(const char *, size_t, int);  int              mandoc_special(char *);
 int      mandoc_hyph(const char *, const char *);  char             *mandoc_strdup(const char *);
   char             *mandoc_getarg(struct mparse *, char **, int, int *);
   char             *mandoc_normdate(struct mparse *, char *, int, int);
   int              mandoc_eos(const char *, size_t, int);
   int              mandoc_hyph(const char *, const char *);
   
   void             mdoc_free(struct mdoc *);
   struct  mdoc    *mdoc_alloc(struct regset *, struct mparse *);
   void             mdoc_reset(struct mdoc *);
   int              mdoc_parseln(struct mdoc *, int, char *, int);
   int              mdoc_endparse(struct mdoc *);
   int              mdoc_addspan(struct mdoc *, const struct tbl_span *);
   int              mdoc_addeqn(struct mdoc *, const struct eqn *);
   
   void             man_free(struct man *);
   struct  man     *man_alloc(struct regset *, struct mparse *);
   void             man_reset(struct man *);
   int              man_parseln(struct man *, int, char *, int);
   int              man_endparse(struct man *);
   int              man_addspan(struct man *, const struct tbl_span *);
   int              man_addeqn(struct man *, const struct eqn *);
   
   void             roff_free(struct roff *);
   struct roff     *roff_alloc(struct regset *, struct mparse *);
   void             roff_reset(struct roff *);
   enum rofferr     roff_parseln(struct roff *, int,
                           char **, size_t *, int, int *);
   void              roff_endparse(struct roff *);
   
   const struct tbl_span *roff_span(const struct roff *);
   const struct eqn *roff_eqn(const struct roff *);
   
   
 __END_DECLS  __END_DECLS
   

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

CVSweb