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

Diff for /mandoc/libmandoc.h between version 1.21 and 1.42

version 1.21, 2011/05/14 16:06:09 version 1.42, 2014/07/09 11:31:43
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
    * Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 29  enum rofferr {
Line 30  enum rofferr {
         ROFF_ERR /* badness: puke and stop */          ROFF_ERR /* badness: puke and stop */
 };  };
   
 enum    regs {  
         REG_nS = 0, /* nS register */  
         REG__MAX  
 };  
   
 /*  
  * A register (struct reg) can consist of many types: this consists of  
  * normalised types from the original string form.  For the time being,  
  * there's only an unsigned integer type.  
  */  
 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
   
 struct  roff;  struct  roff;
 struct  mdoc;  struct  mdoc;
 struct  man;  struct  man;
   
 void             mandoc_msg(enum mandocerr, struct mparse *,  void             mandoc_msg(enum mandocerr, struct mparse *,
                         int, int, const char *);                          int, int, const char *);
 void             mandoc_vmsg(enum mandocerr, struct mparse *,  #if __GNUC__ - 0 >= 4
   __attribute__((__format__ (__printf__, 5, 6)))
   #endif
   void             mandoc_vmsg(enum mandocerr, struct mparse *,
                         int, int, const char *, ...);                          int, int, const char *, ...);
 char            *mandoc_strdup(const char *);  
 char            *mandoc_getarg(struct mparse *, char **, int, int *);  char            *mandoc_getarg(struct mparse *, char **, int, int *);
 char            *mandoc_normdate(struct mparse *, char *, int, int);  char            *mandoc_normdate(struct mparse *, char *, int, int);
 int              mandoc_eos(const char *, size_t, int);  int              mandoc_eos(const char *, size_t);
 int              mandoc_hyph(const char *, const char *);  int              mandoc_strntoi(const char *, size_t, int);
 int              mandoc_getcontrol(const char *, int *);  const char      *mandoc_a2msec(const char*);
 int              mandoc_strntou(const char *, size_t, int);  
   
 void             mdoc_free(struct mdoc *);  void             mdoc_free(struct mdoc *);
 struct  mdoc    *mdoc_alloc(struct regset *, struct mparse *);  struct  mdoc    *mdoc_alloc(struct roff *, struct mparse *,
                           const char *, int);
 void             mdoc_reset(struct mdoc *);  void             mdoc_reset(struct mdoc *);
 int              mdoc_parseln(struct mdoc *, int, char *, int);  int              mdoc_parseln(struct mdoc *, int, char *, int);
 int              mdoc_endparse(struct mdoc *);  int              mdoc_endparse(struct mdoc *);
 int              mdoc_addspan(struct mdoc *, const struct tbl_span *);  int              mdoc_addspan(struct mdoc *, const struct tbl_span *);
 int              mdoc_addeqn(struct mdoc *, const struct eqn *);  int              mdoc_addeqn(struct mdoc *, const struct eqn *);
   
 void             man_free(struct man *);  void             man_free(struct man *);
 struct  man     *man_alloc(struct regset *, struct mparse *);  struct  man     *man_alloc(struct roff *, struct mparse *, int);
 void             man_reset(struct man *);  void             man_reset(struct man *);
 int              man_parseln(struct man *, int, char *, int);  int              man_parseln(struct man *, int, char *, int);
 int              man_endparse(struct man *);  int              man_endparse(struct man *);
 int              man_addspan(struct man *, const struct tbl_span *);  int              man_addspan(struct man *, const struct tbl_span *);
 int              man_addeqn(struct man *, const struct eqn *);  int              man_addeqn(struct man *, const struct eqn *);
   
 void             roff_free(struct roff *);  void             roff_free(struct roff *);
 struct roff     *roff_alloc(struct regset *, struct mparse *);  struct roff     *roff_alloc(struct mparse *, int);
 void             roff_reset(struct roff *);  void             roff_reset(struct roff *);
 enum rofferr     roff_parseln(struct roff *, int,  enum rofferr     roff_parseln(struct roff *, int,
                         char **, size_t *, int, int *);                          char **, size_t *, int, int *);
 void             roff_endparse(struct roff *);  void             roff_endparse(struct roff *);
   void             roff_setreg(struct roff *, const char *, int, char sign);
   int              roff_getreg(const struct roff *, const char *);
   char            *roff_strdup(const struct roff *, const char *);
   int              roff_getcontrol(const struct roff *,
                           const char *, int *);
   #if 0
   char             roff_eqndelim(const struct roff *);
   void             roff_openeqn(struct roff *, const char *,
                           int, int, const char *);
   int              roff_closeeqn(struct roff *);
   #endif
   
 const struct tbl_span   *roff_span(const struct roff *);  const struct tbl_span   *roff_span(const struct roff *);
 const struct eqn        *roff_eqn(const struct roff *);  const struct eqn        *roff_eqn(const struct roff *);

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.42

CVSweb